Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi DLL - Frames in Form einbinden (https://www.delphipraxis.net/129043-dll-frames-form-einbinden.html)

Fisti 11. Feb 2009 16:09


DLL - Frames in Form einbinden
 
Hallo zusammen

Seit einiger Zeit versuche ich nun schon an diesem Problem herum zu basteln, komme aber leider nicht vom Fleck.

Die Form kann ich anzeigen (wenn ich den Code zwischen den Sternchen weglasse). Wie kann ich nun ein Frame dieser Form (auf das panel_main) hinzufügen?

Habe schon recht viel gegoogelt und au einiges ausprobiert, aber es will nicht funktionieren.

Wenn ich den Code in einem normalen Applikations-Projekt ausführe, dann funktioniert er, aber in der DLL nicht !!

Kann mir da jemand weiterhelfen? Danke schon im Voraus für die Antworten.

Gruss Christian

Delphi-Quellcode:
library TestDLL;

uses
  SysUtils,
  Classes,
  Dialogs,
  TestFrameUnit in 'TestFrameUnit.pas';
  TestFormUnit in 'TestFormUnit.pas';

var
  FTestForm: TTestForm;
  FTestFrame: TTestFrame;

{$R *.res}

{ TestDLL }

function TestStart(): boolean; stdcall;
begin

  try
    FTestForm := TTestForm.Create(nil);
   
    //*********************
    //Dieser Teil Funktioniert nicht -> "Frame has no parent window"
    FTestFrame := TTestFrame.Create(FTestForm);
    FTestFrame.Parent := FTestFrame.panel_main;
    FTestFrame.Visible := true;
    //*********************
   
    FTestForm.ShowModal;
  finally
    FTestForm.Free;
  end;
   
end;

exports
  TestStart;

begin
end.

mkinzler 11. Feb 2009 16:10

Re: DLL - Frames in Form einbinden
 
Du musst vorher die Form erzeugen

Fisti 11. Feb 2009 16:48

Re: DLL - Frames in Form einbinden
 
ich steh gerade auf dem Schlauch :? sorry.. was muss ich dem code hinzufügen? kann im moment einfach nicht klar denken :wall:

mkinzler 11. Feb 2009 17:44

Re: DLL - Frames in Form einbinden
 
Delphi-Quellcode:
    FTestForm := TTestForm.Create (Nil);
    FTestFrame := TTestFrame.Create(FTestForm);
    FTestFrame.Parent := FTestForm;
    FTestFrame.Visible := true;

Fisti 11. Feb 2009 17:50

Re: DLL - Frames in Form einbinden
 
Zitat:

Zitat von mkinzler
Delphi-Quellcode:
    FTestForm := TTestForm.Create (Nil);
    FTestFrame := TTestFrame.Create(FTestForm);
    FTestFrame.Parent := FTestForm;
    FTestFrame.Visible := true;

erstmal danke für deine schnellen antworten.

sollte eigentlich auch so heisse:
FTestFrame.Parent := FTestForm.page_main;

war nur ein copy-paste fehler.


sonst sehe ich den fehler aber immer noch nicht? was hast du mit "form zuerst erzeugen" gemeint?
die wird doch mit
FTestForm := TTestForm.Create (Nil);
erzeugt, oder sehe ich da etwas falsch?

mkinzler 11. Feb 2009 17:52

Re: DLL - Frames in Form einbinden
 
Zitat:

sonst sehe ich den fehler aber immer noch nicht? was hast du mit "form zuerst erzeugen" gemeint?
die wird doch mit
FTestForm := TTestForm.Create (Nil);
erzeugt, oder sehe ich da etwas falsch?
Nein, das siehst du richtig.

Fisti 11. Feb 2009 17:56

Re: DLL - Frames in Form einbinden
 
hmm.. wenn ich denn code genau so verwende kommt immer der fehler "frame has no parent window"..

was mach ich denn noch falsch??


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz