AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Methodenzeiger in Funktionszeiger umwandeln
Thema durchsuchen
Ansicht
Themen-Optionen

Methodenzeiger in Funktionszeiger umwandeln

Ein Thema von philzu · begonnen am 30. Mai 2007 · letzter Beitrag vom 30. Mai 2007
Antwort Antwort
Robert Marquardt
(Gast)

n/a Beiträge
 
#1

Re: Methodenzeiger in Funktionszeiger umwandeln

  Alt 30. Mai 2007, 12:02
Statische Methoden werden vom Compiler direkt in Funktionsaufrufe umgewandelt. wuppdi.narf(42) wird zu narf(wuppdi, 42), also Self wird als Parameter hinzugefuegt. Solange narf nun nicht auf Self zugreift geht alles gut.

Das was hier als Methodenzeiger bezeichnet wurde ist einfach ein TMethod-Record. Da liegt auch der Ansatzpunkt.
Delphi-Quellcode:
  TMethod = record
    Code, Data: Pointer;
  end;
In Code ist der Zeiger auf die Funktion enthalten, waehrend Data Self enthaelt. Man sollte also TAusgabe zu einem TMethod umtypen koennen und dann eine Funktion zuweisen koennen. Bediungung ist natuerlich das die Funktion wie TAusgabe plus Self-Parameter deklariert ist.
Irgendwie macht das alles aber keinen Sinn. Man kann doch eine class function deklarieren und dann braucht man keine Instanz des Objektes mehr.
  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 13:32 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