Einzelnen Beitrag anzeigen

Benutzerbild von Gloegg_FHBI
Gloegg_FHBI

Registriert seit: 28. Nov 2006
Ort: Neuss
46 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Nachrichtenschleife für nicht-modales Formular (DLL)

  Alt 27. Mai 2008, 15:20
Hallo Delphianer,

Ich schreibe grade ein Programm so um, das es von einer anderen Anwendung über eine DLL aufgerufen werden kann. Das Problem dabei ist, dass das Hauptformular mit Show und nicht mit ShowModal aufgerufen werden muss. So erhält das Formular keine Nachrichtenschleife und kurioserweise bekommen einige Threads, die vom Formular, bzw. von eingebetteten Frames gestartet werden keine Rechenzeit zugeteilt. Sobald ein modaler Dialog geöffnet wird, läuft wieder alles korrekt.

Die Funktion um das Formular aus der DLL anzuzeigen sieht so aus:
Delphi-Quellcode:
function ShowForm(aHandle : HWND) : longint;
var
  aForm : TBodyFrm;
begin
  // save Application.Handle
  oldHandle := Application.Handle;
  Application.Handle := aHandle;
  { create and show form }
  aForm := TBodyFrm.Create(Application);
//aForm.Parent := Application.MainWindow;
  aForm.Show;
  Result := longint(aForm);
end;
Wie verschaffe ich dem aufzurufenden Formular eine Nachrichtenschleife?

PS: Ich habe alle mir und Google bekannten Foren, Tutorials, etc. zum Thema gelesen, aber nirgendwo konnte ich eine funktionierende Methode finden.
  Mit Zitat antworten Zitat