проблемы со строками в Delphi и ассемблере

Тема в разделе "WASM.BEGINNERS", создана пользователем don_dampster, 21 сен 2005.

Статус темы:
Закрыта.
  1. don_dampster

    don_dampster New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2003
    Сообщения:
    2
    Вопрос не совсем по ассемблеру.



    Дело в том, что хочу (попробовать) сделать библиотеку, возвращающую строку, на ассемблере (MASM8) для программы на Delphi (3). В ассемблере принято передавать указатель на строку, а Delphi почему то не получает строку (то есть получает, но чёрт знает что). Проверяю библиотеку с помощью аналогичной программы на ассемблере, на Visual C++. Всё замечательно работает, а на Delphi не работает.



    Я подозреваю, что в Delphi строку указателем не передать (если без API). А теперь сам вопрос: "Что такое string в Delphi?"
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Код (Text):
    1.  
    2. ; masm
    3. .data
    4. szString db 'Hello, Delphi',0
    5. .code
    6. GetMasmString proc
    7.   mov  eax,offset szString
    8.   ret
    9. GetMasmString endp
    10.  
    11. ; delphi
    12. function GetMasmString:PChar; stdcall; external;
    13.  
    14. var
    15.  s: String;
    16. begin
    17. s:= String(GetMasmString);
    18. end.
     
  3. don_dampster

    don_dampster New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2003
    Сообщения:
    2
    Ясненько. Спасибо.
     
Статус темы:
Закрыта.