Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Class Operator und UInt64 ab welchem Delphi? (https://www.delphipraxis.net/175692-class-operator-und-uint64-ab-welchem-delphi.html)

Delphi-Laie 10. Jul 2013 12:11


Class Operator und UInt64 ab welchem Delphi?
 
Hallo Delphifreunde!

Mein Delphi 4 stößt sich am:

1. Konstrukt:

Delphi-Quellcode:
type
  TBigUInt = record
    class operator Implicit(a: Cardinal): TBigUInt;
Hier am Schlüsselwort "class". Ist wohl in Typ- und/oder Recorddefinitionen nicht zugelassen.

2. Datentyp "UInt64"


Weiß jemand aus dem Stegreif, ab welchem Delphi das erste und ab welchem Delphi das zweite unterstützt wird?

Delphi 7 verarbeitet beides, aber ich möchte es mit möglichst niedrigerem Delphi übersetzen und evtl. auf "Probeinstallationen" verzichten.

Danke im voraus und Gruß

Delphi-Laie

jaenicke 10. Jul 2013 12:24

AW: Class Operator und UInt64 ab welchem Delphi?
 
Klassenoperatoren funktionieren ab Delphi 2006.

UInt64 war wohl auch irgendwo in der Region eingeführt worden, aber das weiß ich nicht so genau.
// EDIT:
Delphi 7 hatte UInt64 jedenfalls noch nicht. Delphi 2006 meine ich schon, bin mir aber nicht sicher.

// EDIT2:
Du klingst ein wenig, als wüsstest du nicht was der Quelltext eigentlich macht, oder?
Damit geht dann sowas:
Delphi-Quellcode:
var
  a: TBigUInt;
begin
  a := 55;
Sprich implicit bedeutet, dass der Parametertyp automatisch in den Ergebnistyp umgewandelt wird. Genauso gibt es auch solche Klassenoperatoren, die z.B. die direkte Addition (a + b) für eigene Typen implementieren.

gammatester 10. Jul 2013 12:40

AW: Class Operator und UInt64 ab welchem Delphi?
 
Zitat:

Zitat von jaenicke (Beitrag 1221344)
Delphi 7 hatte UInt64 jedenfalls noch nicht. Delphi 2006 meine ich schon, bin mir aber nicht sicher.

Delphi 7 hat uint64, aber es ist manchmal buggy, so ist zB bei
Delphi-Quellcode:
program xx;
{$apptype console}

var
  x: uint64;
begin
  x := uint64(-1);
  writeln(x);
end.
die D7-Ausgabe -1, D9 = D2005 gibt richtig 18446744073709551615 aus.

Delphi-Laie 10. Jul 2013 16:27

AW: Class Operator und UInt64 ab welchem Delphi?
 
Danke Euch beiden!

Also, bei den Klassenoperatoren muß ich zurückrudern: Die kennt Delphi 7 doch noch nicht.

UInt64 kennt Delphi 7 (das schrieb ich schon oben), aber noch kein Delphi davor (ich installierte auch die 5er und 6er Version). Jedoch kennt die Hilfe zu Delphi 7 UInt64 nicht - und das bei einem neuen Datentyp. Wie (erb)ärmlich. Und erfolgreich wurde Delphi 7 auch nicht installiert: Beim Compilieren fehlt die Registrierung der bordbk70.dll. Immer mal wieder was neues. Naja, das werde ich auch noch hinbekommen. Ergänzung: Hab's hinbekommen.

Zitat:

Zitat von jaenicke (Beitrag 1221344)
Du klingst ein wenig, als wüsstest du nicht was der Quelltext eigentlich macht, oder?

Bei den Klassenoperatoren oder überhaupt?

So, das sicherste ist, gleich mit Turbo-Delphi weiterzumachen, anstatt sich mit Kinderkrankheiten herumzuärgern. Danke nochmal!

jaenicke 10. Jul 2013 16:37

AW: Class Operator und UInt64 ab welchem Delphi?
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1221373)
Bei den Klassenoperatoren oder überhaupt?

Bei den Klassenoperatoren, ja. Das hörte sich ein wenig so an:
Zitat:

Hier am Schlüsselwort "class". Ist wohl in Typ- und/oder Recorddefinitionen nicht zugelassen.

Delphi-Laie 10. Jul 2013 16:42

AW: Class Operator und UInt64 ab welchem Delphi?
 
Genau darum ging es mir doch: in den unteren Delphiversionen ist dieses Schlüsselwort in Typ-/Recorddefinitionen nicht, ab einer bestimmten Delphiversion eben doch zugelassen (nun weiß ich es). Diese Beobachtung ist doch unabhängig davon, ob die dahinterstehenden Ideen verstanden werden.

Insider2004 10. Jul 2013 22:57

AW: Class Operator und UInt64 ab welchem Delphi?
 
Nach D7 begann die dunkle Zeit für Delphi. Der Entwickler, der Int64 entwickelt hatte wurde gefeuert und viele andere auch. Somit war der Datentyp nur teilweise implementiert.

jaenicke 11. Jul 2013 05:03

AW: Class Operator und UInt64 ab welchem Delphi?
 
Zitat:

Zitat von Insider2004 (Beitrag 1221408)
Nach D7 begann die dunkle Zeit für Delphi.

Dunkel heißt also mehr Funktionen und besser... Hmm, muss ich in meinem Duden mal handschriftlich hinzufügen.

Zitat:

Zitat von Insider2004 (Beitrag 1221408)
Der Entwickler, der Int64 entwickelt hatte wurde gefeuert und viele andere auch. Somit war der Datentyp nur teilweise implementiert.

Mit Int64 gab es auch bei Delphi 7 keine Probleme (soweit ich weiß, benutzt hab ich den jedenfalls damit) und UInt64 wurde genau im Nachfolger von Delphi 7 korrigiert (auch wenn ich es da noch nicht genutzt habe). Was du mit teilweise implementiert meinst, erschließt sich mir jetzt nicht.

Wobei du ja mit deinen Äußerungen in diversen Threads mehr als deutlich machst, dass du von den aktuelleren Delpiversionen kaum Ahnung hast bzw. sie nicht oder kaum kennst, sie aber dennoch irgendwie schlecht reden möchtest. So weit ist deine Botschaft durchaus angekommen.

DeddyH 11. Jul 2013 07:14

AW: Class Operator und UInt64 ab welchem Delphi?
 
Die Gleichung "Neuer = Besser" geht ja auch immer auf, gell?

mkinzler 11. Jul 2013 07:24

AW: Class Operator und UInt64 ab welchem Delphi?
 
Nicht immer, aber seit D7 wurden viele Neuerungen implementiert und auch die neue IDE ist zwischenzeitlich stabiler. Ich würde nicht freiwillig zu D7 zurückwollen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr.
Seite 1 von 2  1 2      

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