Announcement

Collapse
No announcement yet.

Frames dynamisch erzeugen aus DLL?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frames dynamisch erzeugen aus DLL?

    Hallo!<br>
    Ich habe ein Programm geschrieben, das eine Framekomponente zur Laufzeit erstellen kann. Ich möchte jetzt, dass diese Frame-Komponente sich in einem DLL befindet. Wer kann mir erklären, wie ich das machen kann. Ich komme mit der Eigenschaft .Parent nicht klar (Die Hauptform befindet sich nicht in DLL!), ich glaube, dass die Frame erstellt wird aber nicht angezeigt!<br> Danke!<br> Christian

  • #2
    Hallo Cartoni,

    Den Frame erzeugst du über einen Funktionsaufruf der Dll. Dieser Funktion übergibst du die Adresse Deiner Parentkomponente z.B.
    <Br>ErzeugeFrame(@Panel1).<br> Bei der Übergabe des Formulars solltest Du auf keinen Fall @Self übergeben, da Self den Adressbereich wechselt; nimm hierzu die Referenz @Form1<p>

    In der Dll holst Du aus der übermittleten Adresse die Parentkomponente
    zurück. Z.B<br>
    procedure ErzeugeFrame(Ptr: Pointer);<br>
    var<br>
    MyParent: TComponent;<br>
    begin<br>
    MyParent := TComponent(Ptr^);<br>
    MyFrame := TFrame1.Create(MyParent);<br>
    MyFrame.Parent := MyFrame; <br>
    usw...<br>
    end;<br&gt

    Comment

    Working...
    X