读书人

delphi中pointer有关问题

发布时间: 2012-03-15 11:50:38 作者: rapoo

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)])

所以可能是别的原因

读书人网 >.NET

热点推荐