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)])
所以可能是别的原因