[add] OMG, einen vergessenen Tab gefunden und wo Firefox sich so Mühe gegeben hat das Geschriebene im Editor, trotz mehrfacher Abstürze, Neustarts und disableter Tabs zu merken ......... klick ich mal auf Senden
Falls noch was fehlt und ich es noch nicht geschrieben hab ... hab's eh vergessen[/add]
Das wusste ich nicht - ich dachte, das sei zulässig...
Nja, es ist möglich,
aber widerspricht den Grundsätzen der
OOP.
Durch die Vererbung werden Dinge hinzugefügt, aber
niemals nicht entfernt.
Ein TMemoryStream kann alles, was ein TStream kann,
also es macht keinen Unterschied, ob ich VariableAlsTMemoryStream.Write oder VariableAlsTStream.Write ausführe, solange da wirklich ein TMemoryStream drin steckt.
Delphi-Quellcode:
type
TTest = class(TComponent)
strict private
procedure SetName(const NewName: TComponentName); override;
strict protected
property Tag;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
Tag := TTest.Create(Self).Tag;
var Edit: TEdit;
var Cont: TControl;
Edit := TEdit.Create(Self);
Cont := Edit;
TLabel(Edit).Caption := ''; // Ja, Caption gibt es seit TControl, aber meistens ist es einfach nur im Protected versteckt.
TLabel(Cont).Caption := '';
Edit.Caption := ''; // [dcc32 Fehler] E2362 Auf protected-Symbol TControl.Caption kann nicht zugegriffen werden
Edit.Text := '';
Cont.Text := ''; // [dcc32 Fehler] E2362 Auf protected-Symbol TControl.Text kann nicht zugegriffen werden
end;