![]() |
|
|
Регистрация | << Правила форума >> | 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 выполняется до того, как ты передашь переменную. Можно конструктор класса формы свой написать, в него передавать и значение твоей переменной.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#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
|
||||
|
||||
![]() Говорю, передай как аргумент конструктора. Внутрях конструктора присвоишь значение какой-нибудь приватной переменной, а ее в свою очередь запользуешь на своем ФормКриэйт.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#10
|
||||
|
||||
![]() Цитата:
Способов туева ... , не понимаю в чём проблема? - Товарищ прапорщик!!! Остановите поезд!!! - Поезд СТОЙ! РАЗ! ДВА! Последний раз редактировалось Viajero, 07.10.2011 в 13:02. |
#11
|
||||
|
||||
![]() Цитата:
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#12
|
|||
|
|||
![]() Код:
... Tformx = class(TForm) ... private ... FVarX: Integer; ... public ... constructor Create(Owner: TComponent; Varx: Integer); ... end; implementation constructor TFormx.Create; begin FVarx:= varx; inherited Create(Owner); end; и после этого юзать Fvarx в своём классе. |
#13
|
|||
|
|||
![]() Цитата:
![]() |
#14
|
|||
|
|||
![]() Ребята, делфи пользуюсь давно, но как продвинутый пользователь. Недавно столкнулся с задачей сделать MDI DLL, программа была написана без модулей.. Скачал в интернете пример MDI DLL окна, прочитал данную тему, но ничего толком не понял в каком месте объявлять переменные, чтобы они были доступны двусторонне.. Стоит задача передать переменные из главной формы, чтобы изменить их и уже при закрытии MDI формы изменённые значения использовать в главной форме, помогите пожалуйста! Чувствую, моиз знаний недостаточно для этого, нервничать уже начал (
Если кому не сложно - измените пример по ссылке, пожалуйста! Нужно передать и принять в главной форме несколько переменных. Огромное спасибо заранее тому, кто поможет! Вот здесь скачал пример MDI DLL |
#15
|
|||
|
|||
![]() Вы на дату сообщений смотрели? Новую тему создавайте
|