Einzelnen Beitrag anzeigen

easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#1

Modales Formular in einem Thread

  Alt 2. Jun 2004, 13:58
Mahlzeit!
Ich habe eine Anwendung, die Daten über eine RS232-Schnittstelle bekommt - und zwar ziemlich sporadisch. Bisher habe ich für die Schnittstelle ein Formular, welches ich von der Anwendung aus aufrufe:
Delphi-Quellcode:
procedure TFormMain.MenuProtoOmegaClick(Sender: TObject);
begin
  Application.CreateForm(TFormOmegaConnect,FormOmegaConnect);
  FormOmegaConnect.ShowModal; FormOmegaConnect.Release;
end;
Nun wäre es aber ganz schön, wenn ich das Formular einfach als zweites Programm hätte, damit ich in der Anwendung mit anderen Dingen weiterarbeiten kann. Da ich aber einige Daten der Anwendung (lesenderweise) brauche, habe ich an einen Thread gedacht. Dementsprechend habe ich ein Thread definiert und erzeuge beim Menuclick den Thread - und rufe im Thread das Formular auf.
Delphi-Quellcode:
procedure TFormMain.MenuProtoOmegaClick(Sender: TObject);
begin
  Thread:=TElektronikThread.Create(TRUE);
  Thread.Priority:=tpHIGHER;
  Thread.FreeOnTerminate:=TRUE;
  Thread.Resume;
end;

procedure TElektronikThread.Execute;
begin
  Application.CreateForm(TFormOmegaConnect,FormOmegaConnect);
  FormOmegaConnect.ShowModal; FormOmegaConnect.Release;
end;
Irgendwie funzt das aber nicht. Das Fenster kommt nicht und wenn ich dann die Anwendung schließe bekomme ich Fehlermeldungen ohne Ende.

Jemand eine Idee, woran es liegt?

Gruss
Bjoern alias easywk
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat