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

Вниз

Невозможно сделать повторное создание формы.   Найти похожие ветки 

 
Linec   (2005-09-20 14:02) [0]

У меня программа написана на обычном Delphi, но я хочу создавать форму написанную на KOL (например настройки).

procedure TOption.Create;
begin
 form:=newform(applet,"Option");
 run(form);
end;

При первом вызове этой процедуры форма создается нормально. Потом пользователь выходит из нее, закрыв форму. Затем если попытаться вызвать снову эту процедуры, то форма появляется и сразу пропадает (сама закрывается).

Я пробовал ставить после run(form);
 form.free;
 applet.free;
а также очищал очередь сообщений от клавиатуры и мышки, но это не помогает.

Простое скрытие формы меня не удовлетворяет. Надо, чтобы форма полностью закрывалась, освобождая ресурсы. Но затем могла быть создана снова.
Если кто знает пожалуйста подскажите.


 
ECM ©   (2005-09-20 15:56) [1]

Один из вариантов:


var
 bExit: Boolean;

function MyWndProc( Sender: PControl; var Msg: TMsg; var Rslt: Integer ): Boolean;
begin
 Result := FALSE;
 if Msg.message = WM_CLOSE then bExit := TRUE;
end;

procedure TOption.Create;
var
 Frm: PControl;
 Msg: TMsg;
begin
 Frm := NewForm(Applet,"Option");
 Frm.AttachProc(@MyWndProc);
 Frm.Show;
 bExit := FALSE;
 while not bExit do begin
   WaitMessage();
   {
   if PeekMessage( Msg, 0, 0, 0, PM_REMOVE ) then
   begin
     TranslateMessage( Msg );
     DispatchMessage( Msg );
   end;
   }
   Frm.ProcessMessage;
 end;
 Frm.Free;
end;


 
ECM ©   (2005-09-20 15:58) [2]

З.Ы. Frm (в моем примере) => Form (у Вас)


 
Linec   (2005-09-20 19:52) [3]

Получилось, но при попытке свернуть окно происходит ошибка Access violation.


 
Linec   (2005-09-21 16:56) [4]

А из-за чего такое происходит?


 
ECM ©   (2005-09-22 18:30) [5]


> А из-за чего такое происходит?

Ошибка в 17-й строке...


 
ECM ©   (2005-09-23 10:53) [6]

Я имел ввиду что ошибка где-то у Вас
Вот мой тестовый проект

http://www.fastfile.ru/file/KOLVCLTestPrj.zip

там ничего лишнего - нет никаких AV

:)



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

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

Наверх




Память: 0.45 MB
Время: 0.011 c
15-1146173854
ICQ++
2006-04-28 01:37
2006.05.28
прикольный ICQ - клиент


15-1145967193
create
2006-04-25 16:13
2006.05.28
Еще один форум о и про Delphi


9-1130842218
zx
2005-11-01 13:50
2006.05.28
Microsoft посадит OpenGL под замок?


15-1146089696
Германн
2006-04-27 02:14
2006.05.28
Ресурсы GDI


15-1146820243
McSimm
2006-05-05 13:10
2006.05.28
скачать интернет





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский