如果你有一个32位的Delphi程序要升级成64位,可以参考下面的攻略进行升级。
- 先升级成Unicode版本
- 在IDE环境下打开你的32位工程,添加并激活64位的平台,并且编译你的工程为64位的。
- 查找并处理如下的事项(指针的操作,NativeInt的大小,汇编的代码)
指针的操作
在你的代码里查找以下指针相关的操作:
-
指针的大小改变了
在32位的程序中, 指针是4bit,但是在64位程序中,指针是8bit.
-
你可以假定
SizeOf(Pointer)=SizeOf(Integer/Caridinal/LongInt)
- 如果你想增加指针的话,要意识到,64位的指针操作跟32位的指针操作是不一样的,所以你需要调整你的代码
正确的如下:
Myptr := PByte(P) + 10
兼容的写法:
MyPtr := PAnsiChar(P) + 10
错误的写法: