Текущий архив: 2008.03.09;
Скачать: CL | DM;
Вниз
Frame в Главной форме... Найти похожие ветки
← →
bataniQ (2008-02-14 12:08) [0]Всем здрасте...Возникла вот такая проблемкО..
На главной форме использую Frame...Но мне главную форму необходимо убрать при запуске программы...пишу в сурсе:Application.ShowMainForm := false;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TAuthForm, AuthForm);
AuthForm.Show;
И все.......конец....появляется AuthForm, после ее закрытия появляется главная форма (MainForm), но вот фрейма уже на ней нету и при выходе из программы возникает такой exception:System Error. Code: 1400. Invalid window handle.
Если убрать Application.ShowMainForm := false; То все работает frame показывается, но .. вместе с главной формой при загрузке проги ... как быть????
← →
Сергей М. © (2008-02-14 12:16) [1]
> после ее закрытия появляется главная форма (MainForm)
Что, сама по себе выскакивает ?)
← →
botaniQ (2008-02-14 12:17) [2]Не :) - я ее вызываю ... при нажатии например на кнопочку ОК:
AuthForm.Hide;
MainForm.Show;
← →
Сергей М. © (2008-02-14 12:23) [3]Пробуй так:
Application.ShowMainForm := false;
Application.CreateForm(TMainForm, MainForm);
ShowMessage(IntToStr(Integer(MainForm)));
Application.CreateForm(TAuthForm, AuthForm);
AuthForm.Show;
..
AuthForm.Hide;
Application.CreateForm(TMainForm, MainForm);
MainForm.Show;
Какие сообщения видишь (дословно) ?
← →
botaniQ (2008-02-14 12:27) [4]момент...щас попробую...
← →
botaniQ (2008-02-14 12:29) [5]Сообщение:
12132436
← →
Palladin © (2008-02-14 12:32) [6]
> [5] botaniQ (14.02.08 12:29)
это понятно, но от тебя вообще то две циферки ждут...
← →
Palladin © (2008-02-14 12:33) [7]интересно... это я про что... :)
← →
botaniQ (2008-02-14 12:34) [8]ааа....какие две циферки??
← →
Сергей М. © (2008-02-14 12:34) [9]
> Palladin © (14.02.08 12:33) [7]
Про то самое)
действительно, предполагалось что цифирки эти будут отличаться)
← →
Сергей М. © (2008-02-14 12:35) [10]
> botaniQ (14.02.08 12:34) [8]
Пардон)
Не
AuthForm.Hide;
Application.CreateForm(TMainForm, MainForm);
MainForm.Show;
а
AuthForm.Hide;
ShowMessage(IntToStr(Integer(MainForm)));
MainForm.Show;
← →
Palladin © (2008-02-14 12:36) [11]
> [10] Сергей М. © (14.02.08 12:35)
в том то и прикол, я твое не дочитал, сам продолжил мысль увидел ответ автора, передернул его, вчитался в твое и решил что что-то не так... :)
← →
botaniQ (2008-02-14 12:37) [12]12132436 и 12132436
т.е. одно и тоже число :(
← →
Palladin © (2008-02-14 12:38) [13]ту же операцию с указателем фрейма сделай...
← →
botaniQ (2008-02-14 12:41) [14]фрейм:
12181340
← →
Palladin © (2008-02-14 12:41) [15]в обоих showmessage ?
← →
Сергей М. © (2008-02-14 12:42) [16]
> botaniQ (14.02.08 12:41) [14]
А вторая цифирка ?)
← →
Сергей М. © (2008-02-14 12:44) [17]
> Palladin © (14.02.08 12:41) [15]
Так поступают не батаники, но настоящие партизаны на допросе в гестапе)
Клещами вытягивать приходится)
← →
botaniQ (2008-02-14 12:44) [18]момент...)
← →
botaniQ (2008-02-14 12:45) [19]опять абсолютно одинаковые...12181452
← →
Palladin © (2008-02-14 12:47) [20]а теперь с Parent"ом фрейма...
← →
Palladin © (2008-02-14 12:48) [21]и с его handle заодно...
← →
Сергей М. © (2008-02-14 12:49) [22]
> опять абсолютно одинаковые...12181452
Ну значит он, фрейм это, просто invisible стал почему-то)
← →
botaniQ (2008-02-14 12:50) [23]а exception почему возникает ?
← →
Сергей М. © (2008-02-14 12:53) [24]
> exception почему возникает ?
Ты сначала с фреймом разберись, куда он у тебя пропал, сам по себе, якобы)
Потом исключением займешься. Но скорее всего исключение есть прямое следствие этого таинственного исчезновения)
Какие еще выкрутасы ты там творишь в коде обработчиков событий со своими формами/фреймами - то нам не ведомо) ... Где-то, примерно в 17-й строке, у тебя ошибка)
← →
botaniQ (2008-02-14 14:09) [25]Я ваще тащЮЮССя....странно, но только при такой записи все работает...
Application.CreateForm(TAuthForm, AuthForm);
Application.CreateForm(TMainForm, MainForm);
AuthForm.Show;
MainForm.MyReqFramePlace.Parent:=AuthForm;
Причем Frame появляеся именно на MainForm....
Билеберда какая-та..
← →
Palladin © (2008-02-14 14:10) [26]правильно, главной формой то AuthForm стала...
← →
Сергей М. © (2008-02-14 14:12) [27]
> MainForm.MyReqFramePlace.Parent:=AuthForm
За каким лешим нужна эта строчка ?)
← →
botaniQ (2008-02-14 14:15) [28]Да она вообще не нужна.....просто ... ней все работает...но естественно я так программу не оставлю... ) надо другой выход искать :)
← →
Сергей М. © (2008-02-14 14:17) [29]
> Palladin © (14.02.08 14:10) [26]
>
> правильно, главной формой то AuthForm стала...
>
С какого перепугу ?
Главной формой VCL-приложения на всем протяжении его работы была и останется самая первая создаваемая форма, владельцем которой становится объект Application. Ныне и присно и вовеки веков )
← →
Palladin © (2008-02-14 14:18) [30]так он ее и создает самой первой...
← →
Сергей М. © (2008-02-14 14:22) [31]
> он ее и создает самой первой...
Точно)
Глаза не разул сразу на это)
Страницы: 1 вся ветка
Текущий архив: 2008.03.09;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.039 c