Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Handle dll   Найти похожие ветки 

 
Петя   (2004-05-03 13:59) [0]

Как в длл узнать собственный handle (который возвращает LoadLibrary)?


 
Palladin ©   (2004-05-03 14:08) [1]

Передай его туда


 
SammIk ©   (2004-05-03 14:14) [2]

Если я не ошибаюсь, лоадлибрари возвращает
указатель на образ фаила в памяти.
Следовательно тебе надо пропарсить память на налисие PE MZ зоголовка и наиденое значение будет  искомая величина,
но лучше конечно как посометопад Палладин


 
Петя   (2004-05-03 14:18) [3]

Palladin ©   (03.05.04 14:08) [1]
Спасибо, думал есть хитрые способы чтобы избежать этого :(.


 
Palladin ©   (2004-05-03 14:24) [4]

А чего так грусно. Кстати интересно, зачем он там тебе?


 
Петя   (2004-05-03 14:33) [5]

Palladin ©   (03.05.04 14:24) [4]

в длл есть формы. когда форма создается посылаю в exe посредством SendMessage сообщение что для текущей (как параметр handle длл) длл создалась новая форма, в деструкторе формы PostMessage  c сообщением что форма уничтожена (Action := caFree в OnClose), в exe, при получении, смотрю если нету болбше открытх форм для данной длл делаю FreeLibrary.


 
Palladin ©   (2004-05-03 15:10) [6]

в таком случае лучше завести счетчик созданных форм, так будет правильнее, потом при случае можно будет ввести контроль не только форм но и других ресурсов используемых в dll


 
Petr V. Abramov ©   (2004-05-03 16:02) [7]

FindClassHInstance


 
Петя   (2004-05-03 17:50) [8]

Palladin ©   (03.05.04 15:10) [6]
я так и делаю, а в качестве идентификатора этого счетчика использую handle длл.

Petr V. Abramov ©   (03.05.04 16:02) [7]
большое спасибо - кажется ото то что нужно.


 
Mim1 ©   (2004-05-03 18:20) [9]

Петя   (03.05.04 14:33) [5]

Так делать не очень красиво, так как операционная система делает примерно такоеже, при loadlibrary увеличивает счетчик, при freelibrary уменьшает. Если счетчик равен нулю то выгружает.


 
Петя   (2004-05-03 18:57) [10]

Mim1 ©   (03.05.04 18:20) [9]
может это и не красиво;) но для моей конкретной задачи - только так.


 
DrPass ©   (2004-05-03 23:09) [11]


> Как в длл узнать собственный handle (который возвращает
> LoadLibrary)?

Его содержит переменная HInstance. И не нужно ничего никуда передавать


 
default ©   (2004-05-03 23:11) [12]

Mim1 ©   (03.05.04 18:20) [9]
не выгружает, а освобождает
выгрузит ОС когда ей захочется


 
Юрий Зотов ©   (2004-05-03 23:34) [13]

> Как в длл узнать собственный handle

GetModuleHandle

Насчет FindClassHInstance: класс формы не обязательно сидит в той же DLL, в которой создается экземпляр формы. Он может сидеть и в BPL.



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

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.115 c
3-1082315311
tERRORist
2004-04-18 23:08
2004.05.16
Названия полей с пробелами в XLReporte


6-1080475939
iudjen
2004-03-28 16:12
2004.05.16
как скачать файл с интернета


8-1076917402
Petro
2004-02-16 10:43
2004.05.16
Как нанести условн.знаки на полигон?Векторная карта на DC, ...


1-1083245971
Шнур
2004-04-29 17:39
2004.05.16
Округление


6-1080394510
csr
2004-03-27 16:35
2004.05.16
SOCKS PROXY