Thema: Delphi operator is und as

Einzelnen Beitrag anzeigen

Bernd Ua

Registriert seit: 10. Nov 2003
Ort: Lindhorst
87 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: operator is und as

  Alt 18. Nov 2003, 00:35
Zitat:
den Gedanken mit dem gemeinsamen Parentformular hatt ich auch schon,
schien mir aber ein bisserl zu heftig als Lösung.
Da bieten sich doch interfaces an und können in diesem Fall die Basisklasse ersetzen

Delphi-Quellcode:
type
  IBlaBla = interface
    ['{D277B854-3DFF-4838-B8B9-A87EF5C55B1F}']
    procedure SetBla(Value: Integer);
    function GetBla : Integer;
    property Blabla : Integer read GetBla write SetBla;
  end;

  TFormA = class(Tform,IblaBla)
  public
    function GetBla: Integer;
    procedure SetBla(Value: Integer);
  end;

  TFormB = class(TForm,IblaBla)
  public
    function GetBla: Integer;
    procedure SetBla(Value: Integer);
  end;
und beim Zugriff ginge das dann so:

Delphi-Quellcode:
var
  aForm : TForM;
...
procedure TForm1.Button2Click(Sender: TObject);
begin
  if Supports(aForm,IBlaBla) then // vorher prüfen um Exception zu vermeiden
    (aForm as IblaBla).Blabla := 12;
end;

janz ohne if else
(BTW - geht so (ohne weiteren Code) erst ab Delphi 6 , bei D5 etc müsste noch IUnknown implementiert werden)

Bernd
Bernd Ua
  Mit Zitat antworten Zitat