Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.11;
Скачать: CL | DM;

Вниз

Вызвать функцию exe из dll   Найти похожие ветки 

 
petvv   (2011-08-29 09:59) [0]

Собственно сабж, как ???

Ф-ю dll из exe понятно, а наоборот ?


 
Dimka Maslov ©   (2011-08-29 10:06) [1]

Поскольку dll и exe структурно одно и тоже, в exe тоже могут быть экспортируемые функции. И пользоваться GetProcAddress тоже не запрещено. hInstance exeшника определяется как GetModuleHandle(nil)


 
petvv   (2011-08-29 10:13) [2]

Если не трудно, можно небольшой примерчик. Я только разбираюсь.


 
Inovet ©   (2011-08-29 10:28) [3]

Перекрёстные вызовы exe<->dll - сорее всего ошибка проектирования.


 
petvv   (2011-08-29 10:38) [4]

Может быть это и ошибка проектирования.

Проблема вот в чём.
Есть функция:
function UpdateReadersList : Boolean;
var
 psa : PSafeArray;
 i, ReadersCount : Integer;
 Readers : BSTRArray;
 ArrayData : pointer;
 s:String;
begin
 Result:=False;
 try
   psa := Info.ListReaders;
   SafeArrayGetUBound(psa,1,ReadersCount);
   SafeArrayAccessData( psa, ArrayData );
   Readers := BSTRArray(ArrayData);
   if ReadersCount<>0 then
     begin
       sReader:=Readers[0];
       ACOS.ConnectionReader := sReader; *****************
       Capture.InitializeCapture;
       Monitoring.InitializeMonitoring;
       Result:=True;
     end;
   SafeArrayDestroy(psa);
 except
 on E: EOleSysError do
   Result:=False;
 on E: Exception do
   begin
   Result:=False;  <<<<<<<<<
   s:=E.Message;
   end;
 end;
end;

Когда пишу сею функцию в ехе всё пучком фунциклирует, а когда ставлю её в dll в строке помеченной ***************** вываливаемся с AV в строку <<<<<<<<<
Где логика? Или у меня руки кривые.


 
Dimka Maslov ©   (2011-08-29 10:44) [5]

Что такое ACOS? Глобальная переменная? А кто её в dll инициализировать будет?


 
petvv   (2011-08-29 10:49) [6]

в натуре дибил

про***
вот это
ACOS:= TPCSCCard_ACOS.Create(nil);



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

Текущий архив: 2011.12.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
15-1313853077
RGV
2011-08-20 19:11
2011.12.11
HP pavilion dv6-6160er


2-1314272162
И. Павел
2011-08-25 15:36
2011.12.11
Deadlock при запросе на выборку в программе без явных блокировок


2-1313982989
Konstantin
2011-08-22 07:16
2011.12.11
DCOMConnection


2-1314799215
Васюня
2011-08-31 18:00
2011.12.11
Пожлуйста, как нати все файлы в папке!


2-1314685531
Patrick1968
2011-08-30 10:25
2011.12.11
Проверка состояния сервиса Windows