Форум: "Начинающим";
Текущий архив: 2011.12.11;
Скачать: [xml.tar.bz2];
ВнизВызвать функцию 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c