Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Внизкак обрабатывается событие OnCreate ??????? Найти похожие ветки
← →
-=snoop=- © (2005-07-14 15:12) [0]всем еще раз привет, дело такое,есть 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)
...
какой-то глюк!
← →
MetalFan © (2005-07-14 15:14) [1]брр... товарищ! вы в терминах определитесь!
> вызов процедуры следующий
>
> procedure TForm2.FormCreate(Sender: TObject)
какой же это вызов?!
← →
DiamondShark © (2005-07-14 15:14) [2]
> для Form2 описано событие он креате, в которое передается
> переменная gGruppName
Это, интересно, как же?
← →
ANB © (2005-07-14 15:15) [3]
> для Form2 описано событие он креате, в которое передается
> переменная gGruppName,
- а как ты переменную то передешь в событие ????
← →
-=snoop=- © (2005-07-15 06:03) [4]в Form1 у меня определна переменная gGruppName, которой присваевается возвращенное значение от процедуры
procedure tform1.pgGrupGrdDblClick(Sender: TObject);
begin
gGruppName := trim(gGrupGRD.DataSource.DataSet.FieldByName("Name").AsString) ;
workWithGrupp.Form2.ShowModal() ;
← →
-=snoop=- © (2005-07-15 06:44) [5]а если в терминах, то возвпащается от процедуры обработки события pgGrupGrdDblClick
← →
-=snoop=- © (2005-07-15 07:00) [6]как-бы я не тупил с терминами, вопрос остается, и звучит примерно так - "какого чьЁрта отрабатывается OnCreate формы, которая загружается ТОЛЬКО ПОСЛЕ того как я дважды клину по гриду на первой форме"
← →
gydvin (2005-07-15 09:26) [7]Потому что событие OnCreate возникает непосредственно после создания формы. А form2 как я понял дочерняя тоже создается вместе с главной но невидимо пока
ТОЛЬКО ПОСЛЕ того как я дважды клину по гриду на первой форме"
потому всю процедуру из form2.oncreate перенеси в form2.onshow
← →
-=snoop=- © (2005-07-15 09:32) [8]а как можно отключить создание всех дочерних объектов?
← →
ЮЮ © (2005-07-15 09:42) [9]Project > Options > Forms
Там два "контейнера" для форм, левый - для автосоздаваемых.
З.Ы. исключив фориу из автосоздаваеиых, теперь не забуть её создать раньше, чем использовать :)
← →
gydvin (2005-07-15 09:51) [10]И удаляй после использования и главное предохраняйся вовремя использования 8)
← →
-=snoop=- © (2005-07-15 10:00) [11]а если у меня 100000 дочерних форм? они все создадуться? бред!
← →
-=snoop=- © (2005-07-15 10:05) [12]какой-то бред, создавать объект до его использования
← →
Alexander Panov © (2005-07-15 10:07) [13]-=snoop=- © (15.07.05 10:00) [11]
а если у меня 100000 дочерних форм? они все создадуться? бред!
а ты попробуй.
-=snoop=- © (15.07.05 10:05) [12]
какой-то бред, создавать объект до его использования
странно было бы наоборот делать.
← →
Digitman © (2005-07-15 10:10) [14]
> -=snoop=- © (15.07.05 10:05) [12]
> какой-то бред, создавать объект до его использования
еще бредовей - пытаться использовать несуществующий объект
← →
Anatoly Podgoretsky © (2005-07-15 10:18) [15]Что такое бред, это не философский вопрос, а точный диагноз.
← →
-=snoop=- © (2005-07-15 10:21) [16]для чего создавать объект, если теоретически он не будет использован
← →
gydvin (2005-07-15 10:24) [17]-=snoop=- © (15.07.05 10:21) [16]
для чего создавать объект, если теоретически он не будет использован
Ну это ты к дядюшке Борланду а еще лучше Билу
← →
Anatoly Podgoretsky © (2005-07-15 10:26) [18]-=snoop=- © (15.07.05 10:21) [16]
И даже класс в этом случае не стоит включать
← →
Digitman © (2005-07-15 10:27) [19]
> -=snoop=- © (15.07.05 10:21) [16]
это тебе как прикладному программеру видне, будет или не будет ..
← →
ЮЮ © (2005-07-15 10:42) [20]>для чего создавать объект, если теоретически он не будет использован
А на кой ты тогда создавал эту форму (в дизайнере), да ещё в этом проекте, если даже теоретически она не будет использована? :)
← →
-=snoop=- © (2005-07-15 10:53) [21]да ладно ЮЮ, ты ведь прекрасно понимаешь, что есть редко используемые участки программы, такие как первоначальные настройки....
тогда я понять не могу, в каком событии нужно создавать елементы управления (DBGrid, DBCheckBox=в моем случае), в OnActivate =нельзя.....
← →
Плохиш © (2005-07-15 10:54) [22]
> -=snoop=- © (15.07.05 10:21) [16]
> для чего создавать объект, если теоретически он не будет
> использован
Этот вопрос ты должен задать себе. На кой включать в проект классы, если теоретически они в проекте не будут использоваться, это уже патология.
← →
Плохиш © (2005-07-15 10:56) [23]
> -=snoop=- © (15.07.05 10:53) [21]
Может тебе для начала забыть о практическом программировании и заняться теорией?
← →
gydvin (2005-07-15 10:58) [24]-=snoop=- © (15.07.05 10:53) [21] ответ
в [7]
← →
ЮЮ © (2005-07-15 11:04) [25]>ответ в [7]
нет в [9]. Ты сам определил, что экземпляр формы должен быть создан независимо от того, будет он использоваться или нет.
"перекинь форму" вправо и она не будет созлаваться. Тогда процесс создания экземпляра формы(созданной тобою в дизайне) во время выполнения программы, лежит на тебе.
← →
Alexander Panov © (2005-07-15 11:08) [26]-=snoop=- © (15.07.05 10:53) [21]
Если тебе не нужно, чтобы формы даже не появлялись в списке автосоздаваемых, поступай просто - создавай их в Runtime.
← →
gydvin (2005-07-15 11:17) [27]ЮЮ © (15.07.05 11:04) [25]
Нет если формы выкинуть из списка автосоздоваемых то тогда [9], а если нет то [7]
← →
-=snoop=- © (2005-07-15 11:20) [28]спасибо, буду делать
← →
gydvin (2005-07-15 11:21) [29]Alexander Panov © (15.07.05 11:08) [26]
Ох геморное енто занятие.
Это ж надо создать форму потом накидать компоненты которым присвоить процедуры. Брр ну нет лучше уж в дизайне.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.034 c