Einzelnen Beitrag anzeigen

Billi Berserker
(Gast)

n/a Beiträge
 
#1

Form mehrfach aus DLL Laden

  Alt 26. Nov 2003, 18:05
Hier mein Problem :
Ich habe eine dll Datei in der befindet sich ein normales TForm mit diversen Schaltflächen. Nun importiere ich dieses Formular aus der dll Datei in mein Hauptprogramm. Dabei lege weise ich dem Formular ein TPanel als Parent zu um das ganze besser unter Kontrolle zu haben. Das funktioniert so weit auch ohne Probleme.

Hier ein kleiner Code Ausschnitt(nur falls dort schon Fehler stecken)

Delphi-Quellcode:
var
   MainWnd : hwnd;
...
   dlldata.dllhandle := LoadLibrary(pchar(ExtractFileDir(Application.ExeName)+'\Objects\'+ObjectFile));
   if dlldata.dllhandle <>0 then
   begin
        @dlldata.StartMainWnd := GetProcAddress(dlldata.dllhandle,'StartMainWnd');
        @dlldata.StartMainWndEx := GetProcAddress(dlldata.dllhandle,'StartMainWndEx');
   end;
   MainWnd:=dlldata.StartMainWndEx(BackgroundPanel.Handle);
Nun habe ich aber folgende Probleme.
1. Ich möchte das das Formular der dll Datei Transparent angezeigt wird. Es sollen also nur die Schaltflächen sichtbar sein. Der Rest soll so Transparent sein das der Hintergrund des HauptFormulars der Anwendung angezeigt wird. Das Problem ist das sämtliche gesetzte Eigenschaften wie AlphaBlend,Trasparenz oder Canvas.Brush.Style:=bsnone nach dem importieren in die Hauptanwendung keine Wirkung zeigen.

2. Das Zweite problem ist das das erste importierte Fenster sofort verschwindet wenn ich den Code nochmals mit der selben dll Datei ausführe. Es ist jedoch verdammt wichtig das es irgendwie funktioniert das ich zwei mal die selbe dll lade und die Formulare unabhängig voneinander importieren kann. Nur wie mache ich das?
  Mit Zitat antworten Zitat