Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамическое создание формы при HTTP-запросе


Pavel ©   (2010-03-29 11:33:00) 

Необходимо при HTTP-запросе динамически создавать форму.
Делаю так: запрос обрабатываю через IdHTTPServer1.
В обработчике IdHTTPServer1CommandGet пишу следующее:


procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
 ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
 Form2 := TForm2.Create(Application);
 Form2.Caption := 'Form2';
 Form2.Show;
end;


В результате Form2 не отображается.


Loginov Dmitry   (2010-03-30 23:52:00) [1]


> В результате Form2 не отображается.


Слава богу что не отображается. А если бы отобразилось, то было бы немало глюков.
Общаться с формой можно только из основного потока!


Дмитрий Белькевич   (2010-03-30 16:43:00) [2]

Вообще - зачем такое поведение могло понадобиться - пока не ясно.


[true]TRIx   (2010-03-30 16:29:00) [3]

имею ввиду TinyWeb


[true]TRIx   (2010-03-30 16:15:00) [4]

Скачай исходник http://www.ritlabs.com/en/products/tinyweb/


Дмитрий Белькевич   (2010-03-30 12:51:00) [5]

Есть подозрение, что проблема из-за отсутствия синхронизации потоков. IdHTTPServer1CommandGet вызывается не в основном потоке, скорее всего.


12   (2010-03-29 11:58:00) [6]

причем тут http..

showmessage(''); - выскакивает?

Form2 := TForm2.Create(Application);
Form2.Caption := 'Form2';
Form2.Show;


brother   (2010-03-29 11:51:00) [7]

зы: для начала - создай динамически форму без всяких запросов, а потом уж фантазируй дальше, имхо


brother   (2010-03-29 11:40:00) [8]

> при HTTP-запросе динамически создавать форму

в коде запроса нету...

> В результате Form2 не отображается.


> Form2 := TForm2.Create(Application);

это что? не TForm?


Медвежонок Пятачок   (2010-03-29 11:37:00) [9]

И не должна отображаться. И хорошо что не отображается


Наверх

Титульная страница Поиск, карта сайта Написать письмо