AGB  ·  Datenschutz  ·  Impressum  







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

Implicit Cast und Operatoren

Offene Frage von "Zacherl"
Ein Thema von Zacherl · begonnen am 27. Mär 2015 · letzter Beitrag vom 28. Mär 2015
 
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Implicit Cast und Operatoren

  Alt 27. Mär 2015, 20:18
Delphi-Version: XE7
Hallo zusammen,

ich habe einen Record, bei welchem ich einen class operator Implicit(A: TMyRecord): Integer implementiert habe. Nachdem IntVariable := MyRecord nun auch wie erwartet funktioniert hat, probierte ich es mit IntVariable := MyRecord * 4 . Von C++ her kenne ich es so, dass der Operator Multiply als nicht implementiert erkannt wird und dann aber auf den impliziten Cast zurückgefallen wird.

Gibt es eine Möglichkeit dieses Verhalten auch in Delphi zu aktivieren?

Hintergrund ist, dass ich eine generische Wrapper Klasse für diverse Datentypen (Integer, Boolean, Floats) geschrieben habe. Die Momentane Implementierung besteht allerdings trotz identischem Basiscode aus 3 verschiedenen Records. Integer muss class operator Add, Subtract, Multiply, etc unterstützen, Boolean dahingegen braucht LogicalNot, LogicalAnd, etc. und die Floats noch Sachen wie Trunc oder Round.

Würde der implizite Cast funktionieren, wie ich mir das vorstelle, bräuchte ich keinen einzigen class Operator implementieren und käme mit nur einem Record aus.

Viele Grüße
Zacherl
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  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 01:12 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