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

Передача строки в DLL   Найти похожие ветки 

 
Oleksiy   (2003-06-20 11:34) [0]

Нужно передать в DLL строку в качестве параметра,
При вызове функции из DLL пишу так ShowList(PChar(Name)). Name типа String. Здесь значение Name нормальное
В самой DLL делаю обратное преобразование StrPas(Name); а вот здесь в Name уже полный бред какой то... Подскажите что не так делаю..


 
jel ©   (2003-06-20 11:37) [1]

А как насчет Uses ShareMem?

Почитай внимательно комментарий, который вставляет среда при создании новой DLL


 
Юрий Федоров ©   (2003-06-20 11:47) [2]

На самом деле в данном случае ShareMem не нужен, параметр то PCHar?
>>Oleksiy
проверь соглашения о вызовах, чтоли ?


 
Anatoly Podgoretsky ©   (2003-06-20 11:51) [3]

jel © (20.06.03 11:37)
А не надо оно в данном случае.

Oleksiy (20.06.03 11:34)
Код давай


 
Oleksiy   (2003-06-20 11:58) [4]

в приложении вызываю функцию, которая описана в dll
ShowReportsList(PChar(frmAbout.InternalName));
в dll
процедура в dll выглядит так
procedure ShowReportsList(AName: PChar); stdcall;
var
frmReportsList: TfrmReportsList;
begin
frmReportsList := TfrmReportsList.Create(Application);
frmReportsList.Caption := StrPas(AName);
frmReportsList.ShowModal;
end;
В итоге в заголовке формы полный бред


 
Delirium ©   (2003-06-20 12:00) [5]

> Oleksiy

unit SysUtils;

function StrPas(const Str: PChar): string;
begin
Result := Str;
end;


Как видно преобразование - автоматическое, так-что "полный бред какой то..." возникает отнюдь не здесь :)


 
Delirium ©   (2003-06-20 12:01) [6]

stdcall; - в проге указываешь ?


 
Oleksiy   (2003-06-20 12:03) [7]

где же тогда?


 
Oleksiy   (2003-06-20 12:05) [8]

с stdcall уже лучше но все равно добавляет в начало строки символ...


 
Юрий Федоров ©   (2003-06-20 12:21) [9]

Приведи код, как ты ее вызываешь в exe


 
Oleksiy   (2003-06-20 12:28) [10]

спасибо всем за помощь, все получилось



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

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



Память: 0.47 MB
Время: 0.011 c
3-7324
keymaster
2003-06-05 15:33
2003.07.03
Как работать с удалённой БД?


3-7318
abc
2003-06-08 23:52
2003.07.03
как сделать так что бы при вводе данных в DBGrid первая буква...


1-7502
Alexey
2003-06-21 12:32
2003.07.03
Отчеты из Quickreport в Word


14-7611
Men
2003-06-18 16:52
2003.07.03
Где можно скачать программу DELPHI?


3-7346
Alex_x
2003-06-10 12:14
2003.07.03
делать Backup/Restore из програмы




   Наверх