Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Узнать Handl Dll из саомй Dll когда она загружена. Как??? 
V
    Опции темы
ivan219
  Дата 8.10.2006, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Мне надо узнать Handl библиотеки когда она загружена из под самой библиотеки т.е. не из EXE который её загружает (так надо) smile 

И ещё вопрос а можно этот Handl передавать как пораметр в процедуре находящейся в библиотеке, EXE который её загружает (так надо) smile 

Это сообщение отредактировал(а) ivan219 - 8.10.2006, 20:08
PM MAIL ICQ   Вверх
Romikgy
Дата 8.10.2006, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



а передать этот хендл  из ехе в dll не?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ivan219
Дата 9.10.2006, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Да втомто и дело что Не!!! уменя проблема этих Dll целая куча так что надо будет делать масив и т.д. а если брать Hendl прямо из Dll то всё становится проще.

Ну так что это невозможно чтоли smile 
PM MAIL ICQ   Вверх
Romikgy
Дата 9.10.2006, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(ivan219 @  9.10.2006,  19:42 Найти цитируемый пост)
Ну так что это невозможно чтоли

на все 100%  незнаю но проще вызвать спец ф_цию, которая передаст в dll ее хендл


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ivan219
Дата 9.10.2006, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Случаем ты не про это говориш smile
Код

Handle:=LoadLibrary(NameDll);


Но мне надо именно из под Dll узнать её Handle
PM MAIL ICQ   Вверх
Romikgy
Дата 9.10.2006, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



А в dll пишешь ф_цию
Код

var Hanle_this_dll: THandle;


procedure SetDllHandle(dll_hnd: Thandle); stdcall;
begin
Hanle_this_dll:=dll_hnd;
end;

а в приложении пишешь
Код

var p1: procedure (h: Thandle); stdcall; // или понадобится вынести в раздел type

Handle:=LoadLibrary(NameDll);
@p1:=GetProcAddress(Handle,'SetDllHandle');
p1(Handle);
// и все после этого в твоей dll есть ее же хендл 
 smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ivan219
Дата 9.10.2006, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Спасибо это лучше чем массивы городить, подумаю.

Но всётаки вопрос остаётся в силе!!!

Добавлено @ 22:35 
Ещё хотел узнать 
Код

@p1

Вот ентот самый тузик smile
Код

@

Он для чего нужен smile вед и безнего всё работает.

Это сообщение отредактировал(а) ivan219 - 9.10.2006, 22:42
PM MAIL ICQ   Вверх
Alexeis
Дата 9.10.2006, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(ivan219 @  9.10.2006,  22:31 Найти цитируемый пост)
Он для чего нужен smile вед и безнего всё работает. 

Да не нужен он, так как процедра по сути это и так адресс точки входа в нее


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ivan219
Дата 9.10.2006, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Ну а какие примеры я невстричал её везде пишут smile 

Ну а воще она хоть что то даёт она меняет код в EXE (по сравнению без неё) или нет smile 
PM MAIL ICQ   Вверх
Romikgy
Дата 9.10.2006, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(ivan219 @  9.10.2006,  21:44 Найти цитируемый пост)
Ну а воще она хоть что то даёт она меняет код в EXE (по сравнению без неё) или нет

возми и запусти дебагер и посмотри меняется исходник или нет smile

Добавлено @ 22:58 
Цитата(ivan219 @  9.10.2006,  21:31 Найти цитируемый пост)
Но всётаки вопрос остаётся в силе!!!

судя по ДРКБ 
внутри dll переменая Hinstance то что те нужно , проверь


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Alexeis
Дата 9.10.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(ivan219 @  9.10.2006,  22:44 Найти цитируемый пост)
Ну а какие примеры я невстричал её везде пишут

Компилятор Делфи жутко умный стал в последнее время, часто сам догадывается что имеет ввиду программер.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Romikgy
Дата 9.10.2006, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(alexeis1 @  9.10.2006,  22:15 Найти цитируемый пост)
Компилятор Делфи жутко умный стал в последнее время, часто сам догадывается что имеет ввиду программер.


с одной стороны хорошо , с другой стороны , имхо, ужастно плохо!


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ivan219
Дата 10.10.2006, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Вот тыжжжж ёпрст ведь пробовал так делать неполучилось smile новерное я незнал что Hinstance то что мне нужно, а может и делал нетак как надо smile 

Спасибо!!!

Добавлено @ 00:46 
Цитата(Romikgy @  9.10.2006,  22:54 Найти цитируемый пост)
судя по ДРКБ 

Если не секрет где ты там это нашол smile 
PM MAIL ICQ   Вверх
Romikgy
Дата 10.10.2006, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(ivan219 @  9.10.2006,  23:44 Найти цитируемый пост)
Если не секрет где ты там это нашол

Как найти полный путь и имя файла запущенной DLL из самой DLL
конкретно из этой строки
Код

GetModuleFileName(hInstance, TheFileName, sizeof(TheFileName)); 

если посмотришь описание гетмодулефайлнаме то увидишь , что для его нормальной рамоты ему в первом параметре надо передать хендл модуля


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Snowy
Дата 10.10.2006, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Код

  HInstance := GetModuleHandle(nil);

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0721 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.