Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Вниз

Как правильно передать строку в 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 вся ветка

Форум: "Основная";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
1-19124
kaif
2002-02-20 13:22
2002.03.07
Знатокам ООП вопрос


3-19098
Malyatko
2002-02-11 08:26
2002.03.07
Обновление записи.


3-19092
Mishka
2002-02-08 21:33
2002.03.07
Delphi+MS SQL


3-19049
yaJohn
2002-02-07 17:05
2002.03.07
DBGrid


3-19111
Alexy
2002-02-11 15:24
2002.03.07
Откат и обновление





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский