Главная страница
    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
14-42861
fliz
2001-12-26 17:36
2002.02.14
Есть ли какие-то ключи(настройки),предписвыающие Дельфи6 компилить под Вин2000 ?


3-42669
Vopros
2002-01-21 13:10
2002.02.14
Как создать таблицу Paradox?


14-42845
Hawk2
2001-12-25 18:04
2002.02.14
---|Ветка была без названия|---


7-42887
aguliver
2001-11-06 06:52
2002.02.14
Как обработать данные с микрофона в Real-Time


1-42782
Yuraz
2002-01-31 15:27
2002.02.14
Хочу нарисовать тень (canvas) прямоугольнику





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