![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно передать строку в DLL или правильно ее обработать?
Geks © (2002-02-19 12:31:00)Нижеуказанная DLL вызывается в VisualFoxPro7
DECLARE Integer XFunc IN Path+"Xshell.dll" String @str
nRes = XFunc(Val) либо
nRes = XFunc(@Val)
На данном этапе мне нужно просто получить сообщение - значение DirPath,
но вместо например: "c:\somefolder" получается абракадабра в обоих случаях, хоть и разная
library Xshell;
uses
SysUtils, Classes, Windows, Dialogs;
{$R *.res}
function XFunc(DirPath: PChar): Integer;
var
ff: PChar;
begin
ff:= @DirPath; //если просто передать ff:= DirPath - Fox говорит ошибка пр вызове DLL
ShowMessage(ff);
Result:= 0;
end;
exports
XFunc;
begin
end.
Подскажите, пожалуйста, каким образом можно получить реальное значение DirPath
Geks (2002-02-19 22:02:00) [1]Вот что значит опыт!
StdCall на самом деле решила все праблемы.
СПАСИБО.
Юрий Зотов (2002-02-19 20:56:00) [2]> каким образом можно получить реальное значение DirPath
Если из VisualFoxPro передается правильное значение, значит оно и в DLL приходит правильное, что тут еще получать? А вот stdcall, вероятно, не помешает.
function XFunc(DirPath: PChar): Integer; stdcall;
begin
ShowMessage(String(DirPath));
Result:= 0;
end;
Geks (2002-02-19 20:25:00) [3]вообще-то по смыслу передается ссылка на строку, так вот вопрос в том как эту ссылку обработать и получить значение на которое она сылается?
Ну МАСТЕРА Delphi"й это ж ваш хлеб!!!
Geks (2002-02-19 18:47:00) [4]Что? Ни каких мыслей?