Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-1121415307
Destroyer
2005-07-15 12:15
2005.08.07
Как сделать такую кнопку?


14-1121526833
Kerk
2005-07-16 19:13
2005.08.07
Почему при использовании файрвола...


4-1114923256
Viktop
2005-05-01 08:54
2005.08.07
Стандартные диалоги


14-1121421257
Магнум
2005-07-15 13:54
2005.08.07
<OBJECT> в HTML


14-1121578194
Магнум
2005-07-17 09:29
2005.08.07
Зрение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский