Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Свойство ComponentState у TForm в DreamDesigner   Найти похожие ветки 

 
Priest   (2005-05-18 12:49) [0]

Использую DreamDesigner. Свойство ComponentState равно []. Как узнать, что форма (а не компонент) находится в режиме разработке?


 
Юрий Зотов ©   (2005-05-18 13:10) [1]

Как обычно: if csDesigning in ComponentState then...
В среде Dream тоже работает.


 
Priest   (2005-05-18 13:35) [2]

Для компонента Да. А вот для формы у меня не работает. Понимаете, оно постоянно имеет значение [].


 
Юрий Зотов ©   (2005-05-18 14:59) [3]

Гм... с TDCLiteDesigner у меня все было ОК и для формы тоже. Может, не тот класс дизайнера используете? Он там не один.

Еще csDesigning можно выставить принудительно при активации дизайнера (см. SetDesigning), или проверять не ComponentState, а активность дизайнера.


 
Priest   (2005-05-18 16:08) [4]

Я сделал по другому....
Вообще я проверял ComponentState в конструкторе формы. А как оказалась этого делать нельзя. У меня целый ряд переопределённых классов из Dream, но содаётся форма вот так:

TaxIDEFormObject = class(TIDEFormObject)

procedure TaxIDEFormObject.CreateFromStream(FormStream: TStream);
var
Hooked: boolean;
// I: Integer;
// fm: TForm;
//  CurrComp, NewComp: TComponent;
begin
 CreateDesigner(StreamContainsDataModule(FormStream), False);
 with FormDesigner do
 try
   SetDesign(FormInstance, true);

   Hooked := False;
................................

Вот как раз строка CreateDesigner(StreamContainsDataModule(FormStream), False); вызывает создание формы, поэтому вызывается конструктор (где я и проверял ComponentState).
А после конструктора выполнилась строка  SetDesign(FormInstance, true); которая и выставила ComponentState.
Переделал по другому и всё заработало....
Спасибо за помощь



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1131999469
Razor
2005-11-14 23:17
2005.12.11
Окно, "прозрачное" для кликов мыши


2-1132964759
KGC
2005-11-26 03:25
2005.12.11
Отправка письма с аттачем с помощью WinSock


2-1132914567
serko
2005-11-25 13:29
2005.12.11
Шифровка!


2-1133185128
DancerMan
2005-11-28 16:38
2005.12.11
Три панели и два сплиттера


14-1132302421
_Vaitek
2005-11-18 11:27
2005.12.11
Сжатие данных "на лету"