Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DCE 12: "operator" wird nicht erkannt (https://www.delphipraxis.net/215683-dce-12-operator-wird-nicht-erkannt.html)

paule32.jk 20. Aug 2024 17:53

DCE 12: "operator" wird nicht erkannt
 
Hallo,
wie kann ich "operatoren" DCE 12 nutzen ?
unter den folgenden URL: hier
wird:
Delphi-Quellcode:
class operator Equal(const A, B: QChar): Boolean;
als unzulässig gekennzeichnet und auch nicht vom Compiler übersetzt.
Kann da einer sachdienliche Hinweise geben, wie oder ob man Operatoren in DCE 12 nutzen kann ?
vielen Dank schonmal...

Uwe Raabe 20. Aug 2024 18:00

AW: DCE 12: "operator" wird nicht erkannt
 
In Delphi werden Operatoren nur bei
Delphi-Quellcode:
record
unterstützt.

paule32.jk 20. Aug 2024 18:04

AW: DCE 12: "operator" wird nicht erkannt
 
könnten die auch in Klassen genutzt werden ?
ist das eine Einschränkung der EMB DCE 12 ?

Uwe Raabe 20. Aug 2024 18:45

AW: DCE 12: "operator" wird nicht erkannt
 
Wie gesagt, in Delphi geht das nur mit Records - egal ob CE oder nicht.

DeddyH 20. Aug 2024 18:52

AW: DCE 12: "operator" wird nicht erkannt
 
"Diese Schuhe gibt es nur in weiß" "Könnte es die auch in gelb geben?" :roll:

jaenicke 20. Aug 2024 19:11

AW: DCE 12: "operator" wird nicht erkannt
 
Zitat:

Zitat von paule32.jk (Beitrag 1540028)
könnten die auch in Klassen genutzt werden ?

Das Problem ist, dass Klassen keine Referenzzählung haben. Wenn du ein Objekt als Instanz einer Klasse als Ergebnis einer Operation bekommst, müsstest du die also selbst freigeben. Das wäre erstens nicht praktikabel und zweitens bei geschachtelten Operationen gar nicht mehr möglich.

Da Klassenoperatoren lediglich syntaktischer Zucker sind, weil sie lediglich auf die passenden Methoden umleiten, wäre deren Implementierung für Interfaces theoretisch denkbar. Wäre dann nur blöd, wenn die ohne Referenzzählung eingesetzt würden, zudem müssten die Methoden dann syntaktisch in Klassen möglich sein, obwohl sie dort nicht nutzbar sind. Außerdem widerspricht das dem Grundgedanken eines Interfaces. Das wird daher sicher nicht kommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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