а в моем примере и нет никакого преобразования вообще (0 в конце не вижу) !
_LStrToPChar из систем вообще не факт что идентичен LStrToPChar из прилинкованых obj файлов
и у меня она выглядит так
Код:
function _LStrToPChar(const s: AnsiString): PChar;
{$IFDEF PUREPASCAL}
const
EmptyString = '';
begin
if Pointer(s) = nil then
Result := EmptyString
else
Result := Pointer(s);
end;
{$ELSE}
asm
{ -> EAX pointer to str }
{ <- EAX pointer to PChar }
TEST EAX,EAX
JE @@handle0
RET
{$IFDEF PIC}
@@handle0:
JMP PICEmptyString
{$ELSE}
@@zeroByte:
DB 0
@@handle0:
MOV EAX,offset @@zeroByte
{$ENDIF}
end;
{$ENDIF}
тоесть выполняется асм код с неким DB 0
да и вообще у меня 7 делфя а у тебя ХЕ