Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#6

AW: Constructor überschreiben

  Alt 29. Mai 2015, 16:45
Ich bin jetzt kein großer Klassenschreiber, ich mache es nur ab und zu, deshalb sollte das nur als Diskusionsgrundlage dienen.

Das zweite Formular müsste als Klasse erweitert werden. Letztendlich ist TForm2 auch nur eine Klasse die von der TForm abgeleitet wird. Dabei wird das ShowModal von TForm überschrieben überladen.
Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    function ShowModal: Integer; overload;
    function ShowModal(S: string): Integer; overload;
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

function TForm2.ShowModal: Integer;
begin
  inherited ShowModal;
end;

function TForm2.ShowModal(S: string): Integer;
begin
  Caption := S;

  inherited ShowModal;
end;

end.
In der TForm1 kann man ShowModal nun so oder so aufrufen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.ShowModal;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Form2.ShowModal('Hallo Welt!');
end;

Geändert von Popov (29. Mai 2015 um 16:49 Uhr)
  Mit Zitat antworten Zitat