Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизПри вызове функции из dll дает ошибку Найти похожие ветки
← →
De (2006-05-04 12:29) [0]Привет, All!
есть стороняя dll
требуется написать свою dll которая вызвает функции из сторонней...
function Init(a: WideString; b: Integer): Integer; stdcall; external "other.dll";
{$R *.RES}
function my_Init(a: WideString; b: Integer): Integer; stdcall; export;
begin
Init(a, b);
end;
...
если из exe вызвается стороняя функция на прямую, все работает, если вызвается моя, функция дает ошибку, почему?
P.S.
передаваемые параметры одинаковые
← →
Сергей М. © (2006-05-04 12:36) [1]
> дает ошибку
Какую ?
← →
Elen © (2006-05-04 12:40) [2]Привет De.
попробуй в своей ДЛЛ прописать этот код
мне кажется ты неправильно обьявил свою функцию.
И вообще что за ошибку выдает и на каком этапе?
function my_Init(a: WideString; b: Integer): Integer;
begin
Init(a, b);
end
exports my_init;
Begin
end.
← →
De (2006-05-04 12:46) [3]>Elen
все сделано как у Вас реакция та же
ошибка внутренняя, всмысле функция действует по разному (это коннект в БД) в случае с родной функцией коннект создается в случае с моей оболочкой коннекта нет :(
почему понять не могу, ещё повторю что передаваемые параметры одинаковые
← →
Elen © (2006-05-04 12:52) [4]Приведи текст ошибки
← →
Desdechado © (2006-05-04 12:55) [5]на чем написана other.dll ?
точно WideString нужно передавать? может, там все-таки указатель?
а то ведь ShareMem нужен
← →
De (2006-05-04 12:56) [6]да нету текста
если вызываю функцию на прямую возращает 0 (типа все OK)
если вызываю через свою функцию возращает <>0 (типа ошибка)
в чем разница этих двух вызовов понят не могу, передаваемые параметры идентичны :(
← →
De (2006-05-04 12:58) [7]>Desdechado
написана на delphi (хотя не уверен, узнать не реально :( )
содержимое строки передалось нормально (в своем вызове лог ввел)
← →
Elen © (2006-05-04 13:00) [8]С чего ты взял что не 0 это ошибка? это где-то описано?
null
Ну попробуй еще так
function my_Init(a: WideString; b: Integer): Integer;
begin
result:=Init(a, b);
end
← →
Сергей М. © (2006-05-04 13:01) [9]
> нету текста
Так не бывает.
Приводи дословно все что видишь на экране : это, мол, вижу в compile-time, это, мол, - в run-time
← →
Сергей М. © (2006-05-04 13:03) [10]
> написана на delphi (хотя не уверен, узнать не реально
Абсолютно реально.
← →
Гаврила © (2006-05-04 15:14) [11]
> Desdechado ©
> точно WideString нужно передавать? может, там все-таки
>указатель?
> а то ведь ShareMem нужен
Не нужен.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.015 c