![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как обрабатывается событие OnCreate ???????
-=snoop=- © (2005-07-14 15:12:00)всем еще раз привет, дело такое,есть Form1, которая видет Form2
...
implementation
uses workWithGrupp;
...
для Form2 описано событие он креате, в которое передается переменная gGruppName, само событие отрабатывается вот каким кодом
gADOq := TADOQuery.Create(form2) ;
gADOq.Name := 'gADO' ;
gADOq.CursorLocation := clUseClient ;
gADOq.CursorType := ctStatic ;
gADOq.ParamCheck := false ;
gADOq.ConnectionString :=
'Provider= VFPOLEDB.1;'+
'Data Source='+gPthVl+'\pro\;'+
'Password="";Collating Sequence=MACHINE' ;
gADOq.SQL.Clear ;
gADOq.SQL.Add('SELECT a.name, a.Arm_00,a.Arm_01,a.Arm_02,a.Arm_03,a.Arm_05,a.Arm_06,a.Arm_09,a.Arm_mg,a.Arm_14,a.Arm_tz,a.Arm_tv,a.Arm_pd,a.Arm_ex,a.A rm_cn,a.Arm_tx,'+
'b.lbl_name, b.lbl_path, b.lbl_code FROM E:\work\!userbst\grupp a INNER JOIN label.pro b ON a.predpr=b.lbl_code WHERE trim(Name)='+''''+gGruppName+'''') ;
gADOq.Active := true ;
я долго не мог понять, почему запрос не выдает ни каких данных!
для проверки значения gGruppNameзделал вывод на экран этой переменной
form2.Caption := 'Группа для редактирования'+gGruppName ;
showmessage(gGruppName) ;
далее произошло, то чего я ждал((( но это не вызвало у меня особого восторга. при загрузки Form1 отработался showmessage, который естественно вернул пустое значение!!!
вызов процедуры следующий
procedure TForm2.FormCreate(Sender: TObject)
...
какой-то глюк!
ЮЮ (2005-07-15 09:42:00) [21]Project > Options > Forms
Там два "контейнера" для форм, левый - для автосоздаваемых.
З.Ы. исключив фориу из автосоздаваеиых, теперь не забуть её создать раньше, чем использовать :)
-=snoop=- (2005-07-15 09:32:00) [22]а как можно отключить создание всех дочерних объектов?
gydvin (2005-07-15 09:26:00) [23]Потому что событие OnCreate возникает непосредственно после создания формы. А form2 как я понял дочерняя тоже создается вместе с главной но невидимо пока
ТОЛЬКО ПОСЛЕ того как я дважды клину по гриду на первой форме"
потому всю процедуру из form2.oncreate перенеси в form2.onshow
-=snoop=- (2005-07-15 07:00:00) [24]как-бы я не тупил с терминами, вопрос остается, и звучит примерно так - "какого чьЁрта отрабатывается OnCreate формы, которая загружается ТОЛЬКО ПОСЛЕ того как я дважды клину по гриду на первой форме"
-=snoop=- (2005-07-15 06:44:00) [25]а если в терминах, то возвпащается от процедуры обработки события pgGrupGrdDblClick
-=snoop=- (2005-07-15 06:03:00) [26]в Form1 у меня определна переменная gGruppName, которой присваевается возвращенное значение от процедуры
procedure tform1.pgGrupGrdDblClick(Sender: TObject);
begin
gGruppName := trim(gGrupGRD.DataSource.DataSet.FieldByName('Name').AsString) ;
workWithGrupp.Form2.ShowModal() ;
ANB (2005-07-14 15:15:00) [27]
> для Form2 описано событие он креате, в которое передается
> переменная gGruppName,
- а как ты переменную то передешь в событие ????
MetalFan (2005-07-14 15:14:00) [28]брр... товарищ! вы в терминах определитесь!
> вызов процедуры следующий
>
> procedure TForm2.FormCreate(Sender: TObject)
какой же это вызов?!
DiamondShark (2005-07-14 15:14:00) [29]
> для Form2 описано событие он креате, в которое передается
> переменная gGruppName
Это, интересно, как же?