Вниз
Скачать: 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.012 c
7-19360
denis2001
2001-12-03 17:53
2002.03.07
Информация о системе( нужен модуль CRT.DCU или WINCRT.DCU


14-19333
Зинец Виктор
2002-01-21 13:37
2002.03.07
Романы на работе


3-19084
vladnt
2002-02-07 16:13
2002.03.07
Ошибка BDE: Corrupt file-Other than header ...basa.db).


14-19336
Nimda
2002-01-22 08:21
2002.03.07
Проигрыватель.


1-19204
macinsoft
2002-02-18 09:27
2002.03.07
Есть StringGrid, есть PopUpMenu на странице ...




   Наверх