首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi中pointer有关问题

2012-03-15 
delphi中pointer问题关于dword和pointer的使用比如我定义一个变量,全局的 MYBASE:Dword然后我在汇编ASM中

delphi中pointer问题
关于dword和pointer的使用
比如我定义一个变量,全局的 MYBASE:Dword;

然后我在汇编ASM中用他 
nowbase:Pointer;
nowbase:=Pointer(MYBASE);
asm
call nowbase;
end;
这样使用完全不行会死住,但我如果全局定义是这样的
Const MyBase=$00401020; 这样的话就可以了。
我的MYBASE是从外部获取的一个十进制数值;

[解决办法]
不知道你要说什么,本质上Dword与pointer是一样的,都是4byte的大小
[解决办法]
奇怪,
xyz:=$401020; 
address:=Pointer(xyz); //这样不行 
address:=Pointer($401020); //这样可以 
这两句应该都是一样的,下面显示address指针的地址:
xyz:=$401020;
address:=ptr(xyz); //这样不行
showmessageFmt('%x',[Integer(address)]);
address:=Pointer($401020); //这样可以
showmessageFmt('%x',[Integer(address)])

所以可能是别的原因

热点排行