Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie nutzt man ein Interface (IKnownFolderManager)

  Alt 5. Nov 2013, 15:02
Du hast dir da eine Klasse erstellt, welche dieses Interface "unterstützt", welche also die Funktionalität bereit stellt, welche mann dan hinter dem Interface verstecken kann.

Und da du eine klasse hast, worin du Methoden deklariert hast, mußt du, wie bei jeder Klasse natürlich auch diese methoden implementieren, sonst weiß die Klasse ja nicht was sie machen soll.
Und genau diese fehlende implementation wurde dir vom Compiler angekreidet.


Aber du willst ja keine "eigene" Objektinstanz erstellen, welche dan über dieses Interface angesprochen wird, sondern du willst irgendeine eine fremde Instanz haben.
Im Prinzip wirst du da wohl Windows fragen müssen, ob es dir eine Instanz mit diesem Interface gibt.

Hab da jetzt auch nichts auf die Schnelle im Kopf, aber schau doch einfach mal in deren Demo nach, wo die sich diese Interface-Instanz herholen.
http://archive.msdn.microsoft.com/shellapplication > KnownFolders.zip




PS: Das Interface ist die Schnittstelle. Stell es dir wie eine Klasse vor, wo alle Funktionen als Abstract deklariert sind (z.B. TStrings oder TStream).
Jetzt brauchst du nur noch eine Funktion, welche dir eine Instanz gibt (die intern also 'ne TStringList oder TMemoryStream erstellt) und die du dann verwenden kannst (lesen und schreiben), ohne daß es dich interessiert, was für ein Objekt wirklich da drin ist.

Du hast praktisch deine eigene TXyzStream-Kalsse deklariert, zu welcher du jetzt noch die Funktionen definieren müßtest (wie z.B. TMemoStrings, welches die Zugriffe auf ein TMemo umleitet),
aber das wolltest du ja eigentlich nicht machen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 5. Nov 2013 um 15:08 Uhr)
  Mit Zitat antworten Zitat