Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];




Вниз

Использование статических 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 ;))




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.018 c
6-42821           SemFLY                2001-11-15 02:17  2002.02.14  
Можно ли в приложение сервер ?


1-42798           Petrovich             2002-01-31 21:49  2002.02.14  
Проблема с формами


4-42901           Anderius              2001-11-17 21:12  2002.02.14  
Как насильно завершить другую программу?


1-42776           Елена                 2002-01-31 12:39  2002.02.14  
Слова строки


3-42697           @andrew               2002-01-22 15:30  2002.02.14  
ПРИВЕТ ВСЕМ!!! Помоготе построить запрос: