试图将一些代码从32位delphi移植到64.编译后我得到一个访问违规在64位补丁的这一行(在32上正常工作)
PByte = ^Byte;
function TyDecoder.findCRLF(pStart,pEnd: PByte): PByte;
begin
while (Not (((pStart^=13) and (pByte(Integer(pStart)+1)^=10)) or (pStart^=10))) and (Integer(pStart)<Integer(pEnd)) do Inc(pStart);
Result:=pStart;
end;
Run Code Online (Sandbox Code Playgroud)
以前有许多问题从D7移植到10.2东京但是通过将所有字符串声明更改为Ansistring来纠正这些问题.
我猜这可能与指针类型有关,现在是8而不是4.
难住了.