Вниз
Скачать: CL | DM;

Как правильно передать строку в DLL или правильно ее обработать?   Найти похожие ветки 

 
Geks   (2002-02-19 12:31) [0]

Нижеуказанная 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 18:47) [1]

Что? Ни каких мыслей?


 
Geks   (2002-02-19 20:25) [2]

вообще-то по смыслу передается ссылка на строку, так вот вопрос в том как эту ссылку обработать и получить значение на которое она сылается?
Ну МАСТЕРА Delphi"й это ж ваш хлеб!!!


 
Юрий Зотов ©   (2002-02-19 20:56) [3]

> каким образом можно получить реальное значение DirPath

Если из VisualFoxPro передается правильное значение, значит оно и в DLL приходит правильное, что тут еще получать? А вот stdcall, вероятно, не помешает.

function XFunc(DirPath: PChar): Integer; stdcall;
begin
ShowMessage(String(DirPath));
Result:= 0;
end;



 
Geks   (2002-02-19 22:02) [4]

Вот что значит опыт!
StdCall на самом деле решила все праблемы.
СПАСИБО.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.007 c
1-19144
ZEE
2002-02-06 04:14
2002.03.07
Создание/удаление компонентов в RunTime


1-19166
igorr
2002-02-21 15:59
2002.03.07
Копирование в буфер


1-19255
hex_for_delphi
2002-02-20 06:49
2002.03.07
как управлять мышю


14-19307
mart
2002-01-18 08:35
2002.03.07
Начинающий


1-19132
_Pavel
2002-02-20 20:52
2002.03.07
C++ DLL Delphi




   Наверх