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

Опять про DLL Delphi для C++ Builder   Найти похожие ветки 

← →
S@shka   (2002-05-15 22:01) [0]

Народ нужен грамотный ответ
Создаю библиотеку DLL в Delphi 6 для использования ее функций в последствии в C++ Builder 5 для примера текст такой
< library mydll.dll
function TestInt (x,y:Integer):Integer; stdcall;
begin TestInt:=x+y; end;
function TestStr (a:String):String; stdcall;
begin TestStr:=a+" bla-bla-bla"; end;
exports
TestInt,TestStr;
begin
end.>
Как теперь статически или динамически исп. функции в C++ Builder
Если динамически типа...
typedef (*pf)(int,int);
hwInst=LoadLibrary("mydll.dll");
....
if (hwInst)
{
pf pfunc = (pf) GetProcAddres (hwInst,"TestInst"); //tipa
if (pfunc)
{
int b = (pfunc)(3,4);
}
}
то почему то один раз функция вызывается нормально, но если сразу вызвать еще эту же или другую то возникает исключение EAccessViolation (уже задолбало)
А как делать нигде толком найте не могу
Please HELP HELP HELP HELP HELP HELP HELP HELP HELP HELP


← →
S@shka   (2002-05-16 12:03) [1]

Неужели никто ничего.....


← →
Игорь Шевченко ©   (2002-05-16 12:08) [2]

S@shka (16.05.02 12:03)

Не использовать String, к примеру. Использовать PChar

С уважением,


← →
S@shka   (2002-05-16 12:14) [3]

да но глюки бывают и в коде когда использую только вызов MyTestInt где типы только целые...
(тоесть вызываю подряд функцию несколько раз) к примеру
....
if (hwInst)
{
pf pfunc = (pf) GetProcAddres (hwInst,"TestInst"); //tipa
if (pfunc)
{
int b = (pfunc)(3,4);
...Memo1->Lines->Add (IntToStr(b));
b = (pfunc)(3,0);
...Memo1->Lines->Add (IntToStr(b));
b = (pfunc)(3,-);
...Memo1->Lines->Add (IntToStr(b));
}


← →
NailS ©   (2002-05-16 12:22) [4]

А pf у тебя тоже stdcall?


← →
S@shka   (2002-05-16 12:36) [5]

2 Nails
typedef (*pf)(int,int);


← →
Игорь Шевченко ©   (2002-05-16 12:42) [6]

S@shka (16.05.02 12:14)

А что отладчик говорит?


← →
NailS ©   (2002-05-16 12:51) [7]

Дык попробуй

typedef _stdcall (*pf)(int,int);


← →
Игорь Шевченко ©   (2002-05-16 13:02) [8]

NailS © (16.05.02 12:51)

Тьфу, слона-то я и не приметил :-))

С уважением,



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

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



Память: 0.46 MB
Время: 0.008 c
7-88655
Ольга
2002-02-28 17:11
2002.05.27
Запуск приложения


1-88482
Durak
2002-05-14 16:42
2002.05.27
ZIP


3-88370
spectrre
2002-05-02 11:44
2002.05.27
Как задать относительный путь до каталога с таблицами?


3-88382
suds
2002-05-02 20:02
2002.05.27
НАРОД !!! Кто нить добавлял динамические поля


7-88658
lipskiy
2002-03-02 19:00
2002.05.27
Что надо учесть, чтобы быть уверенным, что мое приложение будет работоспособно на всех пользовательских машинах?




   Наверх