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;