Hallo werte Delphianer,
ich habe schon viele Foren durchsucht, nach der möglichkeit Forms aus dlls zu nutzen.
Dort ergaben sich viele Möglichkeiten, je nach Anwendungskontext.
Mein Problem ist folgendes:
"Ich möchte eine Modale Form aus einer
Dll heraus anzeigen lassen, die Parented von der Applikation ist."
Momentane gefundene möglichkeiten:
A
Delphi-Quellcode:
showForm(const myApp:TApplication; mySet:POwnSettingsRecord)
begin
frmInDll := TFormDll.Create(myHandle, @mySet);
end;
B
Delphi-Quellcode:
showForm(
const myApp:TApplication;
const myScreen:TScreen; mySet:POwnSettingsRecord)
begin
frmInDll := TFormDll.Create(myHandle, @mySet);
screen:=myScreen;
// ???? wie in der Dll
end;
C
Delphi-Quellcode:
showForm(mySet:POwnSettingsRecord)
begin
frmInDll := TFormDll.Create(nil, @mySet);
end;
D
Delphi-Quellcode:
showForm(const myHndl:THandle; mySet:POwnSettingsRecord)
begin
frmInDll := TFormDll.CreateParented(myHndl, @mySet);
end;
Ich würde jetzt gerne wissen welche lösung die richtige für mein Problem ist?
Ich persönlich hätte gesagt lösung D; diese funktioniert aber bei mir nicht wirklich.
Delphi-Quellcode:
constructor TFormDll.CreateParented(const myHandle: THandle;
const mySettings: PTHMI_VALUES);
begin
inherited CreateParented(myHandle);
self.Parent:=TWinControl.CreateParentedControl( myHandle );
initializeValues(mySettings);
end;
Hat irgendjemand eine Idee?