Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Klasse eines Forms übergeben (https://www.delphipraxis.net/202089-klasse-eines-forms-uebergeben.html)

Ykcim 26. Sep 2019 15:21

Delphi-Version: 10.2 Tokyo

Klasse eines Forms übergeben
 
Hallo Zusammen,

ich möchte an eine Procedure einer anderen Unit die Klasse eines Forms weitergeben, ohne das Form in den uses zu erwähnen. Ich habe folgendes versucht:

Delphi-Quellcode:
unit TLogicUnit;

interface

uses WEBLib.Forms, WEBLib.ComCtrls;

type TGeneral = class
  private
    frm_OverView: TWebForm;
  public
    procedure Open_OverView(TKLasse: TClass(TWebForm); WebPage: TWebTabSheet);
end;

var  General: TGeneral;

implementation

procedure TGeneral.Open_OverView(TKLasse: TClass(TWebForm); WebPage: TWebTabSheet);
begin
  if not assigned (frm_OverView) then begin
    frm_OverView:= TKlasse.CreateNew(WebPage.ElementID, nil);   //CreateNew ist nicht bekannt
  end;
end;


initialization
   General := TGeneral.Create;

end.
Der Aufruf sieht so aus:
Delphi-Quellcode:
General.Open_OverView(TForm_OverView, Page_0_Overview);
Jetzt habe ich aber das Problem, dass der Constructor "CreateNew" nicht bekannt ist. In der Klasse TWebForm ist er bekannt.

Wie kann ich das lösen?

Vielen Dank
Patrick

Neutral General 26. Sep 2019 15:31

AW: Klasse eines Forms übergeben
 
Mach folgendes:
Delphi-Quellcode:
type
  TWebFormClass = class of TWebForm;

procedure Open_OverView(TKlasse: TWebFormClass ; WebPage: TWebTabSheet);

Ykcim 26. Sep 2019 15:38

AW: Klasse eines Forms übergeben
 
Vielen Dank!!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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