Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизПередача строки в 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 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c