AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Datentyp für anonyme Methoden wie TMethod für Methoden
Thema durchsuchen
Ansicht
Themen-Optionen

Datentyp für anonyme Methoden wie TMethod für Methoden

Ein Thema von RSE · begonnen am 8. Aug 2012 · letzter Beitrag vom 9. Aug 2012
 
RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#1

Datentyp für anonyme Methoden wie TMethod für Methoden

  Alt 8. Aug 2012, 12:41
Hallo,

ich verwende für Multicast-Events momentan ein array of TMethod. Damit kann ich die ganze Verwaltung (Register, Unregister, Verhinderung von Doppelregistrierungen etc.) mit den selben Codeteilen durchführen. Lediglich der Aufruf muss natürlich für jeden Event speziell geschrieben werden, da ja immer andere Parameter auftauchen.

Problem: Bei diesem Vorgehen kann ich nur Methoden als Event-Handler verwenden, keine Funktionen, Prozeduren und vor allem keine anonymen Methoden. Ich möchte gerne ein array of "Referenz" nutzen, damit ich auch anonyme Methoden benutzen kann. Ich suche also einen Referenz-Ersatz für TMethod.

Nun habe ich etwas geforscht und gefunden, dass hinter einer "Referenz" letztlich ein Interface und ein ganzes Objekt mit einer entsprechenden Invoke-Methode steht. Das ganze ist mit Referenzzählung ausgestattet. Diese Referenzzählung soll natürlich unterstützt werden, ich möchte nicht daneben noch referenzgezählte Variablen halten müssen, damit ich beim Aufruf nicht ins leere greife (das dahinterliegende Objekt bereits freigegeben ist). IInterface ist der Vorfahr aller referenzgezählten Interfaces, aber natürlich in keiner Weise zuweisungskompatibel mit einer Referenzvariable.

Wer hat eine Idee, wie mein Vorhaben umsetzbar ist? Ich möchte allerdings keinen Hack! Also ich werde mir nicht die Code-Einsprungadresse holen mit dem Wissen, dass diese momentan an der vierten Stelle des Objektes gespeichert ist (nach _AddRef usw.).

MfG
RSE

p.s. Bitte nicht mit den unterschiedlichen Bedeutungen von "Referenz" in Referenzvariable ("Zeiger" auf eine anonyme Methode) und Referenzzählung (Anzahl der Zeiger auf ein Objekt) durcheinanderkommen! Wer dafür bessere Bezeichnungen weiß, bitte gern her damit!
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  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 06:57 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 by Thomas Breitkreuz