![]() |
|
#1
|
|||
|
|||
![]() проблема в том, что если я по событию oncreate хочу загузить параметры из ini файла в форму2, то происходит ошибка. если же загружать параметры на форму1 - то без ошибок. если делать по событию onclickbutton, то тоже все работает. не работает только первый вариант. подскажите почему, и как исправить, чтобы параметры из файла ini загружались бы в соответствующие эдиты формы2 по событию oncreate
Код:
unit ULight; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Menus,IniFiles, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.XPMan; type TForm1 = class(TForm) MainMenu1: TMainMenu; N2: TMenuItem; procedure N2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; IniFile:TIniFile; implementation uses Uparam; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var path:string; begin path:=Application.Exename; path:=extractfilepath(path); iniFile:=TIniFile.Create(path+'test.INI'); form2.Edit10.Text:=inifile.ReadString('Каталоги', 'Путь', 'Wrong Path'); form2.Edit1.Text:=inifile.ReadString('Окна','Мик1','0'); form2.Edit2.Text:=inifile.ReadString('Окна','Мик2','0'); end; procedure TForm1.N2Click(Sender: TObject); begin Form2.Showmodal; end; procedure TForm1.FormDestroy(Sender: TObject); begin inifile.Free; end; end. Последний раз редактировалось Tonyy, 22.09.2013 в 15:21. |
#2
|
||||
|
||||
![]() Похоже сначало создется основная форма (Form1) и лишь затем вторая, при первой загрузке её ещё нет. Нужно поменять приоритет в PojectOptions - Form2 собирать первой, ну или в *.dpr Application.CreateForm(TForm2, Form2);
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Tonyy (22.09.2013)
|
#3
|
|||
|
|||
![]() а! так создание (creating) form2 происходит при запуске программы. это все меняет. я то думал что событие oncreat form2 происходит только когда она показывается пользователю. а так я просто приму параметры в эдиты при создании формы2. спасибо Alegun, что навел на мысль.
|
#4
|
||||
|
||||
![]() Такой вариант вероятно в вашем случае - посмотрите содержимое *.dpr проекта, а формы можно создавать/разрушать и во время выполнения, всё зависит от поставленной задачи
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
||||
|
||||
![]() onActivate?
Я за здоровый экстрим! Спасибо за "спасибо") |