|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.08.2008, 00:51 | #1 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
потеря параметров при вызове формы из dll...
Работаю в Делфи 7. Столкнулся с небольшой проблемой. Форму загружаю в dll и потом ее вызываю из основного приложения. Так вот. На форме, которая находится в dll использую компонент TransBtn. Устанавливаю значение TransparentButton1.FrameStyle:= fsExplorer. (в инспекторе или при form1.Create - неважно). Если эту форму не загружать в dll, а компилировать отдельно, то fsExplorer работает как надо (это легко заметить, если отдельно компилировать эту форму). Но при вызове из dll свойство fsExplorer теряется! Значение как-будто само устанавливается в fsNone! Как мне это свойство не терять?
Исходник программы прилагается. Архив с компонентом тоже. Два архива всего . Mainn.dpr - проект основного приложения. libr.dpr - проект библиотеки. Unit1.pas - модуль с формой, которую загружаю в dll.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
20.08.2008, 12:29 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Со свойством все в порядке. "Ошибка" связана с особенностями реализации событий CM_MOUSEENTER/CM_MOUSELEAVE в Delphi - они просто не вызываются (скорее всего из-за двух копий объектов Application - в приложении и в dll).
Кстати, в D10 механизм их формирования изменен и все прекрасно работает. Вариант решения. Изменить метод MouseMove компонента (он там есть) Код:
При таком подходе рамка кнопки будет появлять с запаздыванием (на 3 пиксела). Последний раз редактировалось alexBlack; 20.08.2008 в 12:33. |
20.08.2008, 14:49 | #3 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
ругается на строчку
Код:
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
20.08.2008, 15:34 | #4 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Странно. Вот же описание:
Код:
|
22.08.2008, 22:08 | #5 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
спасибо тебе . Вообще я просто решил не заморачиваться и перекинул проект на 2007 делфи - там, как ты и говорил, все работает хорошо. Кнопики как надо отображаются. Спасибо))) А с исправленным модулем еще разберусь
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Connection timed out при вызове IdSMTP1.Connect(10000); | dimon000 | Работа с сетью в Delphi | 3 | 11.01.2008 22:49 |
адрес не активной ячейки при вызове функции | skachkovgd | Microsoft Office Excel | 4 | 06.12.2007 09:50 |
Потеря данных в Grid | chingiz | БД в Delphi | 8 | 29.07.2007 00:17 |
Потеря переменной при выходи из процедуры | Kaz | Помощь студентам | 3 | 07.06.2007 03:24 |