![]() |
operator Direktive in Delphi?
Hallo,
in Freepascal ist so ein Konstruct möglich:
Delphi-Quellcode:
Ich hatte angenommen, das dies ab Turbo Delphi 2006 auch mit Delphi mölich wäre, aber der Compiler meldet mir:
unit irgendwas;
interface operator = (const ASize1, ASize2: TfpgSize) b: Boolean; implementation operator = (const ASize1, ASize2: TfpgSize) b: Boolean; begin b := (ASize1.w = ASize2.w) and (ASize1.h = ASize2.h); end; end; [Pascal Error] fpg_main.pas(428): E2070 Unknown directive: 'operator' Muss ich da einen Compilerschalter setzen, wenn ja welchen, oder gibt ed das generell erst in späteren Delphi Versionen. Wenn letzteres, gibt es einen günstigen Work Around für das Problem? Durch Funktionsaufrufe ersetzen scheint mir nur dann tragbar, wenn die Operatoren im weiteren Code nicht allzu oft verwendet werden. |
AW: operator Direktive in Delphi?
![]() In Delphi sind die Operatoren Klassenmethoden des entsprechenden Typs. Also z.B.:
Delphi-Quellcode:
TfpgSize = record
... class Operator Equal(ASize1, ASize2: TfpgSize): Boolean; ... end; |
AW: operator Direktive in Delphi?
Naeheres findest du hier:
![]() oder auf Deutsch: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 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