Главная страница
    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.45 MB
Время: 0.004 c
14-42841
Skyter
2001-12-21 16:39
2002.02.14
Люди подскажите новостную группу по дельфям сенькаю.


1-42718
SAlex
2002-01-30 12:01
2002.02.14
<B>Text Object Model </B>


7-42882
Ceputq
2001-11-07 17:44
2002.02.14
shortcut -ы?


1-42755
Василий Свиридов
2002-01-31 03:20
2002.02.14
Этот вопрос скорее всего уже всплывал....


1-42742
asdf
2002-01-30 13:24
2002.02.14
Создание объектов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский