AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Referenz auf Interface-Methode

Ein Thema von Relicted · begonnen am 28. Jun 2017 · letzter Beitrag vom 28. Jun 2017
Antwort Antwort
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#1

Referenz auf Interface-Methode

  Alt 28. Jun 2017, 12:26
Hallo zusammen,

folgendes Problem: ich würde gerne eine Referenz auf eine Methode (ohne Parameter) eines Interfaces an eine Klasse weitergeben.
Mit der "procedure of object"-Methodik geht das wohl leider nicht. Jemand eine Idee wie man das bewerkstelligen kann?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Referenz auf Interface-Methode

  Alt 28. Jun 2017, 12:48
Entweder stehe ich genau so feste wie du auf dem Schlauch oder da blockt tatsächlich irgendetwas. Ich würde den Typ von "procedure of object" zu "reference to procedure" ändern, das ist in System.SysUtils bereits als TProc vordefiniert. Dass ergibt mittels anonymer Prozedur zwar etwas Overhead, aber dein Gedöns müsste somit noch nicht einmal das Interface implementieren.

Delphi-Quellcode:
uses System.SysUtils;

type
   IMyInterface = interface
      procedure doStuff();
   end;

   TMyObject = class(TInterfacedObject, IMyInterface)
      procedure doStuff();
   end;

procedure TMyObject.doStuff();
begin
   WriteLn('I''m doing stuff');
end;

var
   instance: IMyInterface;
   procedureReference: TProc;
begin
   instance := TMyObject.Create();

   procedureReference := TMyObject(instance).doStuff;

   procedureReference :=
      procedure()
      begin
         instance.doStuff;
      end;
end.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Referenz auf Interface-Methode

  Alt 28. Jun 2017, 12:57
Ich würde entweder das ganze Interface übergeben oder die Methode als Interface erzeugen und dein Interface von diesem Interface ableiten oder die Implementation von beiden Interfaces...
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.456 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Referenz auf Interface-Methode

  Alt 28. Jun 2017, 13:22
Mit der "procedure of object"-Methodik geht das wohl leider nicht. Jemand eine Idee wie man das bewerkstelligen kann?
Nimm die "reference to ...."- Methodik.

(Siehe auch: https://stackoverflow.com/questions/...d-reference-to)
  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 16:28 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