Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.09.2013, 13:15
Tonyy Tonyy вне форума
Новичок
 
Регистрация: 05.04.2010
Сообщения: 85
Репутация: 10
По умолчанию событие oncreate

проблема в том, что если я по событию 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  
Старый 22.09.2013, 16:02
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Похоже сначало создется основная форма (Form1) и лишь затем вторая, при первой загрузке её ещё нет. Нужно поменять приоритет в PojectOptions - Form2 собирать первой, ну или в *.dpr Application.CreateForm(TForm2, Form2);
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Tonyy (22.09.2013)
  #3  
Старый 22.09.2013, 16:21
Tonyy Tonyy вне форума
Новичок
 
Регистрация: 05.04.2010
Сообщения: 85
Репутация: 10
По умолчанию

а! так создание (creating) form2 происходит при запуске программы. это все меняет. я то думал что событие oncreat form2 происходит только когда она показывается пользователю. а так я просто приму параметры в эдиты при создании формы2. спасибо Alegun, что навел на мысль.
Ответить с цитированием
  #4  
Старый 22.09.2013, 16:26
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Такой вариант вероятно в вашем случае - посмотрите содержимое *.dpr проекта, а формы можно создавать/разрушать и во время выполнения, всё зависит от поставленной задачи
Ответить с цитированием
  #5  
Старый 23.09.2013, 10:55
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

onActivate?
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:44.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025