Не пулучается передать строку из DLL в Forms

Diter
Дата: 04.06.2006 12:22:36
Есть функция на Delphi

library XXX;
...
function fname(s:PChar):PChar;stdcall;
var
tmp:PChar;
begin
...
s:=tmp;// или StrLCopy(s,tmp,X)
...
Result:='OK';
end;
...

так вот,
при попытке вызова этой функции в Forms'е, он или вылетает, или возвращает в s совсем не то, что надо. При этом 'OK' возвращается исправно.

В Delphi и Visual Basic всё работает нормально.
Кудрявцев Леонид
Дата: 05.06.2006 09:42:09
Вообще, у меня изумление, как оно в VB работает нормально. Ты возврашаеш указатель на локальные данны в СТЕКЕ, после завершения ф-ции - данные в стеке уничтожаются и указатель становится некоректным. Т.ч. Forms вылетает вполне законно.

Я возвращал указатели на строки в _глобальных_ переменных из C - все нормально.
Diter
Дата: 05.06.2006 18:27:03
Всё заработало.
Тема закрыта.