Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   plattformabhängigen Integertypen LongInt und LongWord (https://www.delphipraxis.net/194800-plattformabhaengigen-integertypen-longint-und-longword.html)

TiGü 8. Jan 2018 16:06

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1390511)
Zitat:

Zitat von Uwe Raabe (Beitrag 1390510)
Meinst du sowas?

Sicher.

Es kommen mit jeder Bitanzahlverdoppelung native Integertypen - und dann noch mit eigenem Namen - hinzu, sodaß es immer mehr werdne un das Chaos immer größer wird.

Joah, vier signed Typen und vier unsigned Typen sind schon echtes Chaos...:roll:

Da reicht eine Hand nicht mehr zum Abzählen, muss man die zweite mit hinzunehmen. :lol:

Delphi-Laie 8. Jan 2018 16:17

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Zitat:

Zitat von TiGü (Beitrag 1390512)
Joah, vier signed Typen und vier unsigned Typen sind schon echtes Chaos...:roll:

Da reicht eine Hand nicht mehr zum Abzählen, muss man die zweite mit hinzunehmen. :lol:

Byte, Word, Integer, ShortInt, SmallInt, Cardinal, Int64, LongInt, LongWord, NativeInt, NativUInt...

So aus dem Stegreif. Sind jetzt schon 11. Wer zählen kann, ist klar im ...

Uwe Raabe 8. Jan 2018 16:22

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1390511)
Es kommen mit jeder Bitanzahlverdoppelung native Integertypen - und dann noch mit eigenem Namen - hinzu,

Dann nimm doch die oben gezeigten. Bei denen ist die Größe ja durch die Zahl im Namen eindeutig. Da die bereits in System.pas deklariert sind, muss man da auch nicht noch selbst was erfinden.

Delphi-Laie 8. Jan 2018 16:24

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1390515)
Bei denen ist die Größe ja durch die Zahl im Namen eindeutig.

Genau das war doch meine Aussage.

Wie man es konsequent und übersichtlich hätte machen können, beschrieb ich schon weiter vorn.

TiGü 8. Jan 2018 16:52

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1390513)
Zitat:

Zitat von TiGü (Beitrag 1390512)
Joah, vier signed Typen und vier unsigned Typen sind schon echtes Chaos...:roll:

Da reicht eine Hand nicht mehr zum Abzählen, muss man die zweite mit hinzunehmen. :lol:

Byte, Word, Integer, ShortInt, SmallInt, Cardinal, Int64, LongInt, LongWord, NativeInt, NativUInt...

So aus dem Stegreif. Sind jetzt schon 11. Wer zählen kann, ist klar im ...

Mit Int64 und UInt64 komme ich auf zwei mal fünf...der Rest sind Aliasse.
Weißt du, was ein Alias ist?

Selbst wenn es zwanzig oder dreißig wären...na und? Überfordert dich das? Wirklich? :shock:

Uwe Raabe 8. Jan 2018 17:56

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1390516)
Wie man es konsequent und übersichtlich hätte machen können, beschrieb ich schon weiter vorn.

Hat man aber doch! Oder woher glaubst du, habe ich die Deklarationen?

Delphi-Laie 8. Jan 2018 18:07

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1390525)
Zitat:

Zitat von Delphi-Laie (Beitrag 1390516)
Wie man es konsequent und übersichtlich hätte machen können, beschrieb ich schon weiter vorn.

Hat man aber doch! Oder woher glaubst du, habe ich die Deklarationen?

Nun, dann müssen himitsu und meine Wenigkeit sich eben geirrt haben. Ist alles eben doch konsequent, logisch und einheitlich.

Der schöne Günther 8. Jan 2018 18:12

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Und ich dachte Entwickler könnten nur im unendlichen Tabs gegen Leerzeichen-Krieg so emotional werden.

himitsu 8. Jan 2018 18:28

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Konsequent und logisch, aus Sicht der jeweiligen Plattformen vielleicht, aber aus Sicht eines Codes für Multiplatform ist es das IMHO nicht.
Und vorallem auch nicht aus Sicht der "uns" bekannten Muster von Typen. (wegen der Wiederverwendbarkeit alter Codes / uns = Windows+Pascal)

Gut, dass Integer und Cardinal nun nicht mehr systemabhängig sind, das kann man verkraften, wenn man einfach still und heimlich vergisst wie es zu Zeiten von 8 und 16 Bit mal war.
(dabei war Delphi im Jahre 2006 noch sooooooooooooo stolz auf seine berühmte Abwärtskompatibilität)

Aber es war nunmal früher so, dass LONG = 32 und LONG LONG = 64, also LongInt immer 32 und nicht plötzlich 64, auch auf 64 Bit-Systemen (außer im Windows 64).
Was hätte dagegen gesprochen den LongInt 32 zu lassen und wegen MacOS stattdessen z.B. ein OptimalInt zu erfinden?



Genauso gibt es keinen plausiblen Grund, warum obj.Free unter ARC nicht Free macht, sondern einfach "fahrlässig" komplett ignoriert wird (garnichts macht).
Hier gab es aus den anderen Systemen ein Äquivalent, also hätte man DisposeOf auch als Alias für Free hinzufügen können, weil es dort das Selbe wie ohne ARC das Free macht, um leichter C#-Code nach Delphi portieren zu können,
und stattdessen ein FreeLater (oder so), als Äquivalent zum obj:=nil der bekannten GarbageCollector-Systeme.

Der schöne Günther 8. Jan 2018 18:45

AW: plattformabhängigen Integertypen LongInt und LongWord
 
Die Memory-Management-Geschichte ist eine Katastrophe, das sehe ich auch so.

Aber das Problem mit den Typbezeichnungen verstehe ich ehrlich gesagt immer noch nicht. Angenommen man erstellt Code in Zeiten als Delphi rein "Windows only" war. Der gleiche Code tut doch auch heute, egal ob Windows 32 oder 64-Bit immer noch das absolut richtige, oder?

Das man auf anderen Plattformen gleiche/ähnliche Namen für teilweise andere Datentypen erfunden hat kann man doch Delphi nicht anlasten, oder?


PS: Wenn ich z.B. etwas plattformspezifisches mit der WinApi mache nehme ich auch immer die entsprechenden Typen (wie DWORD oder ULONG) statt den "High-Level-Typen" (wie Cardinal) die grade jetzt in meiner aktuellen Konfiguration drauf passen würden. Ist das nun richtig oder falsch?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr.
Seite 2 von 4     12 34      

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