Сейчас на форуме: asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Добавление функционала в готовую программу
Посл.ответ Сообщение

Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 09 апреля 2010 06:30
· Личное сообщение · #1

Нужно в программу на делфи добавить комбобокс который изменял бы некоторые переменные самой программы, комбобокс добавляю ресторатором, а как отловить изменения состояния комбобокса и выбор значений не пойму.



Ранг: 87.8 (постоянный), 10thx
Активность: 0.070
Статус: Участник

Создано: 09 апреля 2010 07:45 · Поправил: gena-m
· Личное сообщение · #2

отловить изменения состояния комбобокса

Скорее всего перехватом сообщений. И еще, поскольку изменения его состтояния - это события (программист отталкивается при разработке чаще всего от этого), можно попробовать найти обработчики этих событий и изменить логику их работы, если они предусмотрены в программе, здесь зависит какие события программист забил в обработку. Но главная проблема по моему это то что для новой формы ничего нет (для програмы она не существует), поэтому если есть возможность лучше вместо какой то формы эту подключить. Задачу похоже проще решить внедрением длл, и предачей управления в нее , при возникновении определенных событий, потом возврат в основную программу, чем исправлять сотни строк и ниразу не ошибится.

-----
Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше




Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 09 апреля 2010 09:18
· Личное сообщение · #3

Сабклассинг или редирект апфн.



Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 09 апреля 2010 09:47
· Личное сообщение · #4

gena-m пишет:
решить внедрением длл

внедрять длл, аля сделать трейнера, так сначала и думал, но изменить надо всего 2 переменые, из пушки по воробях стрелять не хочетсяClerk пишет:
Сабклассинг или редирект апфн.

Сабклассинг сложнее чем инжект, а апфн в гугле не нашел(
----------------------------------
мне казалось просто, что с такой проблемой уже сталкивались и самому заново не изобретать велосипед.



Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 09 апреля 2010 09:54
· Личное сообщение · #5

yanus0
> Сабклассинг сложнее чем инжект
Не могу судить про сложность, ибо не вижу ничего в этом сложного. Находите окно и заменяете оконную процедуру.
> апфн в гугле не нашел(
apfnDispatch, KernelCallbackTable, KiUserCallbackDispatcher ключевые слова для поиска.


 eXeL@B —› Вопросы новичков —› Добавление функционала в готовую программу
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати