Показать сообщение отдельно
  #17  
Старый 04.05.2012, 19:05
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

а в моем примере и нет никакого преобразования вообще (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 делфя а у тебя ХЕ
Ответить с цитированием