AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Polymorphie mit eigenen Frames: TabOrder nicht gefunden
Thema durchsuchen
Ansicht
Themen-Optionen

Polymorphie mit eigenen Frames: TabOrder nicht gefunden

Ein Thema von Neg · begonnen am 18. Jan 2004 · letzter Beitrag vom 22. Jan 2004
 
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Polymorphie mit eigenen Frames: TabOrder nicht gefunden

  Alt 21. Jan 2004, 13:26
Das implementieren eines Interfaces (IMyInterface) kann man in C++ tatsächlich mit dem Merfacherben einer puren abstrakten Klasse (IMyInterface) vergleichen, allerdings wäre diese pure abstrakte Klasse wiederum von der abstrakten Klasse IInterface abgeleitet, die drei abstrakte Methoden (_AddRef, _Release und QueryInterface) einführt und den Zuweisungsoperator operator = () in der Form überlädt, dass eine Zuweisung eines Objekts (!=null eq <>nil) die vom Erben zu implementiernde Methode _AddRef aufruft und das aufheben einer Referenz (bzw Zuweisen von nil) die vom Erben zu implementiernde Methode _Release aufruft (Referenzzählung).
Der Compiler sorgt darüber hinaus dafür, dass diese "Zuweisung mit nil" (durch Try..Finally geschützt) auch beim Verlassen des Gültigkeitbereichs durchgeführt wird, ähnlich dem C++ Konzept der SmartPointer (tatsächlich gibt es mit TInterfacedObject bereits ein Objekt, dass sich "selbst freigibt").

Suche einfach mal im Forum nach Interface etc, hier wurden oft schon gute Erklärungen für Einsteiger verfasst.

Eine kleine Anmerkung zur beschriebenen Lösung mit TMyFrame (s.o.): Die Klasse TComponent implementiert bereits die von IInterface (bei Deinem D5 heißt es IUnknown) geforderten Methoden und führt zur Referenzzählung (im Normalfall) eine Dummyoperation aus.
gruß, choose
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz