Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

CoolTrayIcon   Найти похожие ветки 

 
>|<   (2012-04-27 19:29) [0]

Здравствуйте!
Возникла такая ситуация:
Сначала выводится окно логина. В случае удачного логина создается другая форма, на которой установлен компонент CoolTrayIcon.
Но так как создавалась вначале форма логина, то она записалась в свойство
Application.MainForm. И при вызове методов TrayIcon1.ShowMainForm,  TrayIcon1.HideMainForm - они применяются к форме, которой уже нет. Поскольку после логина первая форма уничтожается.
Вопрос: как задать главную форму для объекта Application, если это свойство ReadOnly?


 
DVM ©   (2012-04-27 22:37) [1]

Как форму логина показываешь?


 
Rouse_ ©   (2012-04-27 23:15) [2]

А попробуй-ка вот это (не в качестве рекламы) :)
http://rouse.drkb.ru/files/fwtray.zip


 
>|<   (2012-04-28 16:22) [3]

Да. похоже дело не в этом компоненте.

> Как форму логина показываешь?

Application.Initialize;

 frmLogin := TfrmLogin.Create(nil);

 if frmLogin.ShowModal=mrOK then
 begin
   frmLogin.Free;
 end;
 Application.Run;


при нажатии на кнопку ОК в форме логина в ее обработчике выполняется такой код:
try
   js := TlkJSON.ParseText(ServerAnswer) as TlkJSONobject;
   ws := js.Field["result"] as TlkJSONboolean;
   if ws.Value then
   begin
     school_id := js.Field["school_id"] as TlkJSONnumber;
    Application.CreateForm(TForm2, Form2);
     Form2.FSchoolID := school_id.Value;
     Form2.Show;
   end
   else
     ShowMessage("Access denied!"#10#13+(js.Field["description"] as TlkJSONstring).Value);
 except
   on E: Exception do
     ShowMessage("Error occures while parsing server answer:" + #10#13 + ServerAnswer);
 end;


Все нормально, пока не закрою приложение.
После закрытия выдает такую ошибку: Stack overflow
Но сейчас эта ошибка не повторяется.
Убрал компонент CoolTrayIcon и правильно создавал формы.
Еще не в том месте ставил Application.Run


 
sniknik ©   (2012-04-28 16:36) [4]

 with TfrmLogin.Create(nil) do
   try
     res:= ShowModal;
   finally
     Free;
   end;
 
 if res = mrOK begin
   Application.Initialize;
   Application.CreateForm(TForm2, Form2);
   Application.Run;
 end;


 
>|<   (2012-04-28 16:48) [5]


> sniknik ©   (28.04.12 16:36) [4]

нужно еще с формы логина получить номер школы в результате успешного логина
Form2.FSchoolID := school_id.Value;


 
sniknik ©   (2012-04-28 17:06) [6]

> нужно еще с формы логина получить номер школы в результате успешного логина
> Form2.FSchoolID := school_id.Value;
и что? получай. я не против...



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
2-1337627721
vasa777
2012-05-21 23:15
2013.03.22
подкаталоги


15-1346349689
alexdn
2012-08-30 22:01
2013.03.22
Теория чисел


15-1340089952
Омлет
2012-06-19 11:12
2013.03.22
Почему FreeAndNil такой, какой он есть?


4-1261510346
denis_l
2009-12-22 22:32
2013.03.22
Определение пользователя который запустил процесс


8-1227640604
Vetal
2008-11-25 22:16
2013.03.22
Вывод изображения в GDI+