AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Neuer Artikel: Interfaces
Tutorial durchsuchen
Ansicht
Themen-Optionen

Neuer Artikel: Interfaces

Ein Tutorial von xaromz · begonnen am 30. Dez 2005 · letzter Beitrag vom 19. Jan 2006
Antwort Antwort
xaromz
Registriert seit: 18. Mär 2005
Hallo,

da ich bisher nichts Vernünftiges in Netz gefunden habe, habe ich mich mal hingesetzt und eine Einführung in die Erstellung und Verwendung von Interfaces geschrieben. Zu finden ist das hier: Einführung in Interfaces
Da Interfaces ein mächtiges Werkzeug sind und gerade bei PlugIns sehr nützlich sind sollte das doch den einen oder anderen interessieren, oder?

Um Rückmeldung wird gebeten .

Gruß
xaromz
 
Benutzerbild von c113plpbr
c113plpbr

 
Delphi 2005 Professional
 
#2
  Alt 30. Dez 2005, 12:46
Hmm ... scheint nach kurzem überfliegen ganz hilfreich zu sein, was mich aber zu Interfaces beinahe "brennend" interessieren würde, wäre der Aufbau "hinter den Kulissen", sprich, wie das alles dann im Speicher aussieht, usw.

Wenn du dazu noch was hättest, wäre dies für mich ebenfalls sehr hilfreich ... ^^

ciao, Philipp
Philipp
  Mit Zitat antworten Zitat
jbg

 
Delphi 10.1 Berlin Professional
 
#3
  Alt 30. Dez 2005, 13:02
Zitat von c113plpbr:
Wenn du dazu noch was hättest, wäre dies für mich ebenfalls sehr hilfreich
Als Lektüre würde ich da die System.pas:TObject.GetInterfaceTable Methode vorschlagen.

Noch was zu den schönen Funktionsnamen: The Dreaded Underscore

Übrigens das "Lastwagen/Auto/... := nil;" am Ende der Funktion ist unnötig. Das erledigt der Compiler selbst mit einem versteckten try/finally Block.
Andreas aka AHUser aka jbg
  Mit Zitat antworten Zitat
xaromz

 
Delphi 2006 Enterprise
 
#4
  Alt 30. Dez 2005, 13:24
Hallo,
Zitat von c113plpbr:
was mich aber zu Interfaces beinahe "brennend" interessieren würde, wäre der Aufbau "hinter den Kulissen", sprich, wie das alles dann im Speicher aussieht, usw.
Wie das hinter den Kulissen aussieht kann ich Dir auch nicht ganz genau sagen. Es gibt wohl in jeder Klasse eine InterfaceTable, in der die verfügbaren Interfaces stehen und so referenziert werden können. Jeder Eintrage besitzt eine GUID und eine eigene VTable für das jeweilige Interface.
Per Compiler-Magic werden die Routinen _IntfCopy, _IntfClear und _IntfCast aufgerufen. In diesen Routinen wird dann _AddRef bzw. _Release aufgerufen.
Ich hoffe, diese Information hilft.

@jbg: Ich weiss, dass das eigentlich unnötig ist, aber erstens ist Aufräumen nie verkehrt und zweitens soll ja das automatische Zerstören gezeigt werden.

Gruß
xaromz
  Mit Zitat antworten Zitat
Cicaro

 
Delphi 7 Personal
 
#5
  Alt 18. Jan 2006, 14:27
Kann man deine Tutorials auch bewerten ?
Mir ist schon im 2.Satz deines Interface-Tutorials ein Fehler bei der Fachsprache aufgefallen. Im Interface definiere ich keine Funktionen/Methoden sondern deklariere sie. Es ist die Aufgabe der eigentlichen Klasse die Methoden zu definieren/implementieren.
  Mit Zitat antworten Zitat
xaromz

 
Delphi 2006 Enterprise
 
#6
  Alt 19. Jan 2006, 22:28
Hallo,
Zitat von Cicaro:
Kann man deine Tutorials auch bewerten ?
Bewerten kannst Du sie gerne in den entsprechenden Threads hier.
Zitat von Cicaro:
Mir ist schon im 2.Satz deines Interface-Tutorials ein Fehler bei der Fachsprache aufgefallen. Im Interface definiere ich keine Funktionen/Methoden sondern deklariere sie. Es ist die Aufgabe der eigentlichen Klasse die Methoden zu definieren/implementieren.
Wenn's weiter nichts ist. Ich habe aber geschrieben, dass der Funktionsumfang definiert wird, nicht die Funktion. Das war auch nicht als Informatiker gesprochen, sondern als Mensch . Ich hab's trotzdem mal geändert.

Gruß
xaromz
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz