Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 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 ;))



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

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

Наверх





Память: 0.44 MB
Время: 0.004 c
3-42649
PONTIY
2002-01-19 12:19
2002.02.14
Вставка NULL в поле TTable.


14-42840
veZuk
2001-12-24 21:56
2002.02.14
Media


3-42645
Mik
2002-01-15 23:11
2002.02.14
Как подступиться к Access-овской базе без BDE?


3-42674
KOSTAY
2002-01-21 17:43
2002.02.14
Что это за файлы *.px, *.mb, *.xg_, *.yg_, *.mbl?


3-42659
Demon Ltd
2002-01-21 01:22
2002.02.14
Работа из Edit ов с базами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский