![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте!
Столкнулся с тупейшей проблемой не могу решить уже два дня -есть главное окно программы MDIForm, из него по нажатию батона создаётся новое окно MDIChild: Код:
begin // Fx:=Formx.Create(self); Fx:=Formx.Create(Application); Fx.Varx:=1; Fx.Show; end; Код:
public
Varx: Integer; // variant, booleanКод:
if Varx=1 then begin ..... настройки формы end; Ещё в этой форме в некоторых случаях вылетает ошибка: Цитата:
Что за баг и как его исправить??? Пишите все предположения - проверю! Последний раз редактировалось delphicoding, 05.10.2011 в 18:50. |
|
#2
|
||||
|
||||
|
Событие OnCreate выполняется до того, как ты передашь переменную. Можно конструктор класса формы свой написать, в него передавать и значение твоей переменной.
|
|
#3
|
|||
|
|||
|
OnShow тоже пробовал - баг одинаковый.
Звучит стрёмно. ![]() |
|
#4
|
||||
|
||||
|
А почему не сделать VarX глобальной? Как вариант.
Или зачем ее инициализировать в событии OnCreate? Может только в OnShow? |
|
#5
|
|||
|
|||
|
Глобальной нельзя, тк таких окон может быть создано много и каждое со своим параметром VarX - поэтому расположить переменную можно только в самой форме.
Писал же, что пробовал и OnCreate и OnShow. |
|
#6
|
||||
|
||||
|
Есть еще события формы...
http://www.delphisources.ru/pages/fa...rm_events.html OnCreate OnShow OnPaint OnActivate OnResize OnPaint OnCloseQuery OnClose OnDeactivate OnHide OnDestroy |
|
#7
|
||||
|
||||
|
Код:
GlobalVarx:=1; Fx:=Formx.Create(Application); Fx.Varx:=1; ......................... TFormx.FormCreate(Sender: TObject); begin Varx:=GlobalVarx; ......................... |
|
#8
|
|||
|
|||
|
Цитата:
Цитата:
|
|
#9
|
||||
|
||||
|
Цитата:
Способов туева ... , не понимаю в чём проблема? Последний раз редактировалось Viajero, 07.10.2011 в 13:02. |
|
#10
|
||||
|
||||
|
Цитата:
|