Главная страница
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.009 c
15-1313681077
SQLEXPRESS
2011-08-18 19:24
2011.12.11
как админить бд mssql при режиме 24/7


2-1314597307
brother_home
2011-08-29 09:55
2011.12.11
как правильно обратиться к полю?


15-1313578231
adigozelov
2011-08-17 14:50
2011.12.11
Delphi write and read to svn


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


2-1314704892
basilcat
2011-08-30 15:48
2011.12.11
Unable to Write