Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Frames dynamisch einbinden mit Packages (https://www.delphipraxis.net/99454-frames-dynamisch-einbinden-mit-packages.html)

meisteralex 12. Sep 2007 14:41


Frames dynamisch einbinden mit Packages
 
HI Leute, also ich möchte in mein Project gerne Frames automatisch durch Packages einbinden.

Hier mein Unit , welche ich als Package kompiliere:

Delphi-Quellcode:
unit test;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  Ttestframe = class(TFrame)
    Label1: TLabel;
    procedure FrameClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

procedure execute(parent_f:TWinControl; caption_f:String);
procedure destroy();

var testframe:Ttestframe;

implementation

{$R *.dfm}

procedure execute(parent_f:TWinControl; caption_f:String);
begin
  showmessage('bin da');
  testframe := Ttestframe.Create(nil);

  testframe.Parent := parent_f;

  testframe.Visible := true;
  testframe.Show();
end;

procedure destroy();
begin
  testframe.Free;
end;

exports
execute,visibility,destroy;

end.

Und hier der Codeteil den ich nutze umd das Package einzubinden




Delphi-Quellcode:
procedure add_tab();
var
temp_handle:HModule;
executes: procedure(parent_f:TWinControl; caption_f:String);
begin
 
 
  //PlugIn - Laden
  temp_handle := loadpackage('K:\packages\test\Package1.bpl');

  @executes := GetProcAddress(temp_handle,'execute');
  executes(frm_main.sb_right,'test');

end;
das übergeben twincontrol ist dabei eine scrollbox in der der frame reingeladen werden soll, nun da kuriose:
die showmessage-funktion wird aufgerufen und es erschein 'bin da' bei der ausführung. zusätzlich verändert die scrollbox auch ihre größe bleibt jedoch leer ?
jemand ideen ?

Ghostwalker 12. Sep 2007 15:07

Re: Frames dynamisch einbinden mit Packages
 
Probier mal statt

testframe := Ttestframe.Create(nil);

das

testframe := Ttestframe.Create(parent_f);

meisteralex 12. Sep 2007 15:14

Re: Frames dynamisch einbinden mit Packages
 
schon getestet passiert das gleiche


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 Uhr.

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