Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
4-1740
Turok
2003-07-03 11:30
2003.09.01
Как скопировать информацию из окна чужой программы.


14-1578
den74
2003-08-11 14:11
2003.09.01
Delphi & Access


14-1664
Andryk
2003-08-14 10:51
2003.09.01
Вопрос на засыпку :о))


14-1656
Васька
2003-08-12 17:04
2003.09.01
Изображения


3-1307
Leonon
2003-08-11 15:29
2003.09.01
При вызове Post выдает Index is Read Only




   Наверх