![]() |
Umleitung einer Interface-Methode ?
Ich weiß, daß es irgendwie ging und hatte es auch schon erfolgreich gemacht, aber ich bekomm es nicht mehr zusammen. :?
Wie kann ich also die Interface-Methode auf eine andersnamige Objekt-Methode umleiten?
Delphi-Quellcode:
Der Grund ist einfach, daß 2 Interfaces eine gleichnamige Methode besitzen, aber ich sie dennoch gern im selben Objekt hätte.
type
INotifier = interface procedure Modified; end; TEditor = class(TInterfacedObject, INotifier, IEditor) procedure INotifier.Modified = MyOtherModified; end; procedure TEditor.MyOtherModified; begin end;
Delphi-Quellcode:
type
INotifier = interface procedure Modified; end; IEditor = interface procedure Modified; end; TEditor = class(TInterfacedObject, INotifier, IEditor) procedure INotifier.Modified = MyOtherModified; procedure Modified; end; procedure TEditor.MyOtherModified; begin end; procedure TEditor.Modified; begin end; |
Re: Umleitung einer Interface-Methode ?
Hi,
wenn ich mich richtig erinnere, muss die Methodenzuordnungsklausel zusätzlich aufgeführt werden:
Delphi-Quellcode:
Gruß Hawkeye
TEditor = class(TInterfacedObject, INotifier, IEditor)
procedure MyOtherModified; procedure Modified; procedure INotifier.Modified = MyOtherModified; end; |
Re: Umleitung einer Interface-Methode ?
Zitat:
Danke. :thumb: |
Re: Umleitung einer Interface-Methode ?
Zitat:
Zitat:
|
Re: Umleitung einer Interface-Methode ?
Ja, und mir war so, als wenn der Compiler dieses
Code:
nicht "richtig" findet und das dies schon als Definition reichen sollte.
TEditor = class(TInterfacedObject, INotifier, IEditor)
[b][color=#ff0000]procedure [/color][/b]INotifier.Modified[b][color=#ff0000] = MyOtherModified;[/color][/b] end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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-2025 by Thomas Breitkreuz