Главная страница
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.48 MB
Время: 0.041 c
1-1145610805
Virtukon
2006-04-21 13:13
2006.05.28
TShellTreeView и свойство readonly


2-1147603543
EZHIK
2006-05-14 14:45
2006.05.28
Команда goto или что-то наподобие...


1-1145436571
apl
2006-04-19 12:49
2006.05.28
Добавление компонентов! Подскажите!


2-1147412017
VitV
2006-05-12 09:33
2006.05.28
Связка запроса с значением Edit или др.


4-1141671032
spyrytus
2006-03-06 21:50
2006.05.28
HOOK на комбинацию клавиш