|
17.01.2020, 12:29 | #1 |
Участник
|
Как инициализировать formbuildtabcontrol
Здравствуйте. Не могу понять что не так делаю. У меня есть wizard который вызывает форму. При запуске из формы, форма строится без ошибок. Однако при вызове самого wizard вылетает ошибка времени выполнения: formbuildtabcontrol не инициализирован? Не могу понять почему. Где я ошибся, подскажите, пожалуйста.
public void init() { int i, j=15; FormBuildDesign buildDesign = form.design(); FormBuildTabControl bTab = new FormBuildTabControl() ; FormBuildTabPageControl formTabPageControl = new FormBuildTabPageControl(); FormControlType NewPage=FormControlType::TabPage; FormBuildButtonControl btn; ; buildDesign =form.design(); bTab = buildDesign.addControl(formcontroltype::Tab,'TabWizzard'); formTabPageControl = new FormBuildTabPageControl(); for (i=1;i<=j;i++) { formTabPageControl = bTab.addControl(formcontroltype::TabPage,'215'); formTabPageControl.caption("Tab "+int2str(i)); btn = formTabPageControl.addControl(FormControlType::Button,'Dbtn'); btn.text(int2str(j-(bTab.controlCount()))); } super(); if (element.args().caller()) { Syswizard = element.args().caller(); } } Последний раз редактировалось KirAx; 17.01.2020 в 12:35. |
|
17.01.2020, 12:35 | #2 |
Мрачный тип
|
element.args().caller() возвращает объект именно того типа, что и объект Syswizard ?
Объявите локально переменную с типом Object, ей сначала присвойте возвращаемое значение и дебаггером поглядите, кто именно прилетает оттуда
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
03.02.2020, 19:46 | #3 |
Участник
|
buildDesign =form.design();
bTab = buildDesign.addControl(formcontroltype::Tab,'TabWizzard'); видимо, надо посмотреть, не пусты ли эти две переменные. я бы поставил это после super()
__________________
Felix nihil admirari |
|