library Project1; uses SysUtils, Classes,Forms, Unit2 in 'Unit2.pas' {Frame2: TFrame}; {$R *.res} procedure CreateFrame(aOwner:TComponent;var Frame:TFrame); export; begin Frame := TFrame2.Create(aOwner); end; exports CreateFrame; begin end.
unit Unit2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFrame2 = class(TFrame) GroupBox1: TGroupBox; private { Private declarations } public { Public declarations } end; implementation {$R *.dfm} end.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure CreateFrame(aOwner:TComponent;var Frame:TFrame); external 'Project1.dll'; procedure TForm1.FormCreate(Sender: TObject); var f : TFrame; begin CreateFrame(self,f); f.ParentFont := False; f.Parent := self; end; procedure TForm1.FormDestroy(Sender: TObject); var c : TControl; begin while ControlCount > 0 do begin c := Controls[0]; c.Parent := nil; c.Free; end; end; end.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionFunction GetFrame : TFrame; Var f : TFrame Begin f := tFrame1.Create(nil); Result := f; End;