![]() |
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:
das übergeben twincontrol ist dabei eine scrollbox in der der frame reingeladen werden soll, nun da kuriose:
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; 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 ? |
Re: Frames dynamisch einbinden mit Packages
Probier mal statt
testframe := Ttestframe.Create(nil); das testframe := Ttestframe.Create(parent_f); |
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