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

Вниз

Как различить DesignTime и RunTime   Найти похожие ветки 

 
don-do   (2003-08-19 09:03) [0]

При инициализации меняю PopupList, если это в пакете то дельфи падает. Помогите плиз, есть ли директивы для различения режимов.


 
Palladin ©   (2003-08-19 09:13) [1]

когда рисуешь - design time
когда нажимаешь зеленый треугольничек это run-time и длится он до нажатия тобой крестика в твоей программе...


 
don-do   (2003-08-19 09:17) [2]

Palladin шутник
У комонента есть свойство State, а мне бы хотелость различать (програмно - для Palladinа) в IDE работает код или нет.


 
Camus ©   (2003-08-19 09:18) [3]

Для любого компонента:
if csDesigning in ComponentState then ... // Это design-time


 
jel ©   (2003-08-19 09:19) [4]

TComponent.ComponentState


 
don-do   (2003-08-19 09:21) [5]

Спасибо за советы, но это ни коим боком не касается компонентов.
Есть ли другой способ?


 
don-do   (2003-08-19 09:26) [6]

пока я использую:
{$IFNDEF DESIGNIBXFORMS} //Defined in .DPK
If Assigned(PopupList)
then PopupList.Free;
PopupList := TMyPopupList.Create;
{$ENDIF}
,но это меня не устраивает, т.к. придется пакеты отравлять с прогой, а для этого их надо пересобирать.


 
Camus ©   (2003-08-19 09:34) [7]

> don-do (19.08.03 09:21) [5]

1. Если есть ссылка на любой компонет, то можно проверить по нему (причем формы и модули данных - тоже компоненты). Это самое надежное.

2. В design-time Application - это Delphi. Можно проверить имя класса главной формы, но это менее надежно (когда-нибудь может измениться):
if CompareText(Application.MainForm.ClassName, "TAppBuilder")...


 
Zhenka ©   (2003-08-19 09:58) [8]

может это не то, но что то типа етого
{$RUNONLY ON}
ПРИ ВКЛ ДИРЕКТИВЕ ПАКЕТ КОМПИЛИТСЯ КАК ПАКЕТ РАНТАЙМ
используется только в дпк файлах.


 
don-do   (2003-08-19 10:05) [9]

Camus спасибо, наверное это лучшее решение.


 
don-do   (2003-08-19 10:21) [10]

initialization
if not Assigned(Application.MainForm)
then begin
If Assigned(PopupList)
then PopupList.Free;
PopupList := TMyPopupList.Create;
end;
спасибо всем, я поступил так, т.е. во время инициализации модулей главная форма еще не установлена.Ну а с RunTime пакетами вариант Camus подходит больше.



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
14-1609
Basja
2003-08-14 12:06
2003.09.01
Насчет вируса


3-1284
Zorik
2003-08-11 09:16
2003.09.01
Табличные даные в Interbase


4-1702
Dan
2003-07-03 16:36
2003.09.01
Подскажите по использованию DrawText


6-1540
Oleg__
2003-06-11 10:23
2003.09.01
RasGetEntryDialParams


1-1507
IgoX
2003-08-17 21:27
2003.09.01
TreeView