![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическое создание форм из консоли [Delphi, Windows]
Domix © (2005-08-18 13:25:00)Извените за повтор но меня послали сюда
у меня возник такая проблема из консоли хочу динамически создавать форму и работать с ней нок сожелению форма работает нормально только припервой загрузки , после закрытия формы и повторного обращения к ней она просто не отображается не выводя ни каких ощибок вот код программы
program Project1;
uses
Windows,
Messages,
KOL;
{$R *.res}
var
frGlav,Cildren,btOk:PControl;
s:string;
procedure frGlavShow;
begin
Cildren:=NewForm(Applet,'cil');
Cildren.Show;
end;
procedure btOkClik(Dimmy:Pointer;Sender:PControl);
begin
frGlavShow;
end;
begin
AllocConsole;
try
while s<>'exit' do
begin
Write('ENTER comand >: ');
Readln(s);
if s='form' then frGlavShow;
if s='app' then
begin
applet:=NewApplet('Hf,jnf');
frGlav:=NewForm(Applet,'Glav');
btOk:=NewButton(frGlav,'Ok');
btOk.OnClick:=TOnEvent(MakeMethod(nil,@btOkClik));
frGlav.Show;
run(Applet);
end;
end;
finally
FreeConsole;
end;
end.
заранее благодарен
ЗЫ Формы создаю с используя библиотеку КОL
thaddy (2005-08-21 10:27:00) [1]I should have written more polite, but if you email me, I will explain it in detail and give you a good example with all errors corrected. ok?
Domix (2005-08-21 06:58:00) [2]Извените пожалуста может кто нибудь мне перевисти этот текст
Several grave errors:
1) This leaks a lot of memory!
2) You should write {$APPTYPE CONSOLE} and you get a console for free. Do not use allocconsole etc.
3) It will never leave the run() (winmain loop) until you actually close the applet.
Advise:
Start over again. I will help.
thaddy (2005-08-19 00:32:00) [3]Several grave errors:
1) This leaks a lot of memory!
2) You should write {$APPTYPE CONSOLE} and you get a console for free. Do not use allocconsole etc.
3) It will never leave the run() (winmain loop) until you actually close the applet.
Advise:
Start over again. I will help.