![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| kosyak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 15.5.2011 Репутация: нет Всего: нет |
для просто модуля использую:
с эти проблем нет, но я не знаю как сделать тоже самое при работе с Dll. Так как там нет описания процедур и функций, procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE уже не катит, выдает ошибку, что типа "message WM_DEVICECHANGE" передаваться здесь не должен. Как тогда быть? |
|||
|
||||
| Dik0n |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.5.2011 Репутация: 1 Всего: 10 |
Создай невидимое окно на WinAPI RegisterClass(...) CreateWindow(...) и работай через него
Это сообщение отредактировал(а) Dik0n - 19.5.2011, 02:30 --------------------
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ◄◄◄ Сотри монеткой защитный слой |
|||
|
||||
| kosyak |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 15.5.2011 Репутация: нет Всего: нет |
Спасибо, попробую |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
kosyak, Можно обойтись AllocateHwnd/DeallocateHWnd я думаю...
-------------------- There are always someone smarter than you... |
|||
|
||||
| kosyak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 15.5.2011 Репутация: нет Всего: нет |
Спасибо за советы, все хорошо работает |
|||
|
||||
| Dik0n |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.5.2011 Репутация: 1 Всего: 10 |
Зачем тянуть в DLL за собой модуль Classes там так-же используется CreateWindowEx! а за ним SysUtils и всякую ненужную батву. ЗЫ: Вот за это ИМХО Delphi и щитают языком для кнопкокидателей! --------------------
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ◄◄◄ Сотри монеткой защитный слой |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 14 Всего: 58 |
То есть подключение ненужного модуля = кнопкокидание? |
|||
|
||||
| Dik0n |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.5.2011 Репутация: 1 Всего: 10 |
Смотря какого модуля! некоторые пионеры блин, что-бы в плагине сделать диалог, далают его на VCL. Плагин содержит пару функций а весит 500 кило, вот и думают что Delphi отстой, а это не Delphi отстой а руки кривые и голова без извилин. К чему я это, да просто некоторые настолько обленились, что убери компоненты, они ничего сложнее HelloWorld написать и не смогут. Была бы возможность они и драйвера бы на VCL писали MetalFan, если что это к тебе не относится, просто высказался. Sorry за Это сообщение отредактировал(а) Dik0n - 21.5.2011, 16:36 --------------------
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ◄◄◄ Сотри монеткой защитный слой |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
и чем тебя печалит 500кб? При нынешних то объемах носителей... Зачем использовать делфи вообще?! раз там столько "ненужно ботвы"? пиши на сях десятки строк с исп.WinApi и радуйся килобайтными размерами. Только вот нафига? нато оно и RAD, что позволяет обойтись без написания сотен строк обертки над WinApi, чтобы получить элементарное окно с н-кими элементами управления. -------------------- There are always someone smarter than you... |
|||
|
||||
| Dik0n |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.5.2011 Репутация: 1 Всего: 10 |
Дело не в объеме а в производительности. Да если пишешь десктопное приложение то VCL кулл, а если что нибуть системное. представь например хук на клаву в 500 кб, DLL будет подключатся ко всем процессам и инициализировать ненужные модули, конечно на совремменых компах это не заметно, но меня просто выводит из себя что программисту вобще пофиг на оптимизацию запускается и фиг с ним.
Меня Delphi всем устраивает, если что надо я всегда на WinAPI пишу. --------------------
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ◄◄◄ Сотри монеткой защитный слой |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
При чем тут хук на клаву и 500кб? Глобальный WH_KEYBOARD_LL вообще можно из своего приложения ставить без всяких dll, afaik. Хотя все зависит от задачи. Если прицел на скорость и оптимизацию - то велкам, хоть на асме пиши. А если важна скорость разработки и не критично быстродействие - то VCL рулит. -------------------- There are always someone smarter than you... |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 14 Всего: 58 |
||||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |