Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Pascal] Спецы, помогите пожалуйста. 19.07.01 12:30 Число просмотров: 1002
Автор: X_Shadow Статус: Незарегистрированный пользователь
|
Ситуация следующая. Я програмист. Взялся разработать один проект. Дизайн для
него важен. Решил использовать технологию скинов. Наткнулся на пакет
ActiveSkin производитель SoftShape (softshape.com). Класный пакет, красивые
и мощные эфекты. Но это все лирика. Короче, пакет шароварный 90$, и если не
зарегестрирован, то при запуске матерится, но работает. Решил сее
упущение подправить. SoftIce-ом нашел нужные байты для подправки в памяти,
они оказались в OCX - элементе.
...
MOV EDI, [KERNEL32!GETTICKCOUNT]
CALL EDI
MOV [EBP-0C],EAX
PUSH 10
PUSH 121585F0
PUSH 1215855C
PUSH EBX
CALL [USER32!MESSAGEBOXA]
CALL EDI
SUB EAX.[EBP-0C]
MOV DWORD PTR [1215DAE4],00000001
CMP EAX,00000190
JB 12121622
.....
Как зарегестрить так сказать "официально" я не знаю, наверное где-то прописыва
ется в реестре. Но меня устроит, пусти оно не матерится при запуске. Я отключил
вызов функции MessageBoxA, там еще и защита по времени выполнения, если менее
190 тиков повторяется вызов всего этого блока и понятное дело падает в
бесконечный цикл. Я подправил и это, изменив 190 на 0. Все заработало не
матерясь. Но ОБЛОМ!. При двойном клике на форме прога виснит вообще.
Может это и совпадение и виснит оно не в обработчике двойного клика, а например,
при перерисовке формы. Как я не бился ничего. Но что еще самое странное,
я попробовал оставить вывод окна сообщения, но поменял
PUSH 10 на PUSH 0, по сути поменял внешний вид окна, и оно поменялось при выводе,
но опять все висло. Я подумал, може каким-то образом проверяется на изменения
кода, правдо не представляю как, но оказалось нет. Так как когда я только
поменял в CMP 190 на 0, то все работало не вися. У меня уже ум за разум заходит,
что делять не знаю, може кто поможет, я не много знаю из технологии OCX, може
что там есть хитрое. Но что еще странное, демка, поставляемая в пакете на
Delphi на 200 с хвостом килл больше чем мною скомпиленное из их исходников, без
малейшего изменения. Что может быть, помогите, кто знает, советом или практически.
Я хотел бы использовать этот пакет.
P.S. Буду очень признателен за помощь. Заранее благодарен.
|
- [Pascal] Спецы, помогите пожалуйста. - X_Shadow 19.07.01 12:30 [1002]
|
|
|