Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кто Owner невизуального компонента в DesignTime? [D5]


Страницы:   1 2

vvolkov ©   (2002-09-06 14:08:00) 

Уважаемые мастера!

Проблема такая, необходимо чтобы невизуальный компонент при добавлении на форму по умолчанию выставлял свои свойства по разному в зависимости от вида формы.
Пишу примерно так,...

constructor TWizardTipMaker.Create(AOwner: TComponent);
begin
inherited;
State:=stBegin;
if AOwner is TfmTipWizard and
(csDesigning in ComponentState) then
AutoButtonControl:=true
else
AutoButtonControl:=false;
end;


Однако не работает. Если компонент попадает на форму типа TfmTipWizardзначение AutoButtonControl=false;

Если в Runtime выполнять Create значение выставляется. В чем грабли?...


vvolkov   (2002-09-06 16:48:00) [1]

Кстати с процедурой указанной в

> Ученик © (06.09.02 15:31)

Все работает. Большое спасибо.


Ученик   (2002-09-06 15:45:00) [2]

>vvolkov © (06.09.02 15:41)
С ними is не работает


vvolkov   (2002-09-06 15:41:00) [3]

Вроде нет... а причем тут DLL?


Ученик   (2002-09-06 15:36:00) [4]

DLL не где не было ?


vvolkov   (2002-09-06 15:35:00) [5]

Это и есть углублялка... Но все равно спасибо!


Ученик   (2002-09-06 15:31:00) [6]

>vvolkov © (06.09.02 15:23)

function IsClass(A : TObject; const ClassName : string) : Boolean;
var
C : TClass;
begin
C := A.ClassType;
while (C <> nil) and (C.ClassName <> ClassName) do
C := C.ClassParent;
Result := C <> nil
end;


vvolkov   (2002-09-06 15:25:00) [7]

To

> Старый Паскалист (06.09.02 15:21)

а может можно както автоматически получить тип этой эрзацформы?


vvolkov   (2002-09-06 15:23:00) [8]

тоесть если по простому вместо is надо использовать этот самый AOwner.ClassType.ClassParent.ClassName? Только работать будет только для прямых наследников.
Или писать углублялку до самого TObject :-)


Старый Паскалист   (2002-09-06 15:21:00) [9]

Вопрос с классами форм не так прост.
В отличие от других компонентов, к-рые уже в дизайнтайме имеются
в откомпилированном виде, откомпилированного кода формы в дизайнтайме нет.
Вместо неё имеется некая эрзацформа, хотя её класс имеет то же название.


vvolkov   (2002-09-06 15:19:00) [10]

Могу выложить весь исходник... только куда?


Ученик   (2002-09-06 15:19:00) [11]

>vvolkov © (06.09.02 15:13)
Вообще то должен работать, странно тут все как-то, чего то Вы от нас скрываете :-)


vvolkov   (2002-09-06 15:18:00) [12]

TfmCreatePbxModuleWizard, TfmTipWizard...


Ученик   (2002-09-06 15:16:00) [13]

Какой текст показался ?


vvolkov   (2002-09-06 15:15:00) [14]

Тоесть TmmCreatePbxModuleWizard, TfmTipWizard...


vvolkov   (2002-09-06 15:13:00) [15]

Судя по сообщению все в порядке... получается is не работает...?


Ученик   (2002-09-06 15:09:00) [16]

До проверки ShowMessage(AOwner.ClassName + ", " + AOwner.ClassType.ClassParent.ClassName)


vvolkov   (2002-09-06 15:07:00) [17]

Странно... сообщение не появилось...


Ученик   (2002-09-06 15:05:00) [18]

uses
Dialogs;

ShowMessage(...), и Application.MessageBox тоже работает


vvolkov   (2002-09-06 15:02:00) [19]

А как в таком состоянии вывести сообщение? Application.MessageBox не работает.


Ученик   (2002-09-06 14:59:00) [20]

>vvolkov © (06.09.02 14:58)
Сообщение ставили ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо