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

Использование статических DLL из EXE файла   Найти похожие ветки 

 
denis_ka   (2001-12-17 23:37) [0]

Можно ли без переделки всех процедур из простого статического экспорта DLL
"function SomeFN: SomeResult; stdcall; external "somelib.dll" name "_SomeExFunc@0";"
на динамический вызов сделать так, чтобы при запуске прога сначала из себя распаковывала DLL, а потом уже их подсоединяла? Делаю, но Windows ругается, что мол необходимая для запуска DLL не найдена. Может можно эеспортировать прямо из ресурса EXE-шника? Что можно сделать?


 
XPDeveloper   (2001-12-18 03:28) [1]

Можно конечно, просто тебе явно указывать external не нужно,
а после распаковки - запустить процедурку инициализации переменных-указателей на ту или иную процедуру из DLL (по моему это GetProcAddress, лень копаться) и пользуй дальше.

//прототип процедуры, конечно можно и посложней - с параметрами и типом возвр.результата. Но вроде понятно и так
type
TMyDLL_Load = procedure;
//---------------------------------
MyDLL_Load: TMyDLL_Load;
//Хэндл MyDLL инициализируется путем LoadLibrary - загрузка DLL
@MyDLL_Load := GetProcAddress(MyDLL, "DLL_Initialize");
If Assgned(MyDLL_Load) then
//yes - you do it
else
// not - for Camel ;))



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

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



Память: 0.45 MB
Время: 0.008 c
3-42643
harismatik
2002-01-17 16:48
2002.02.14
Добавление нового юзера и назначение ему прав доступа к базе данных INTERBASE


3-42705
FilSM
2002-01-18 16:02
2002.02.14
ADO глючит.


14-42839
Алексей1
2001-12-21 21:26
2002.02.14
Текущая дата


3-42646
--Reporter--
2002-01-17 13:16
2002.02.14
Проблема с master-detail на сервере приложений


14-42853
zero
2001-12-26 11:59
2002.02.14
Сегодня день рождения Чарльза Бэббиджа - изобретателя компьютера




   Наверх