AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language plattformabhängigen Integertypen LongInt und LongWord
Thema durchsuchen
Ansicht
Themen-Optionen

plattformabhängigen Integertypen LongInt und LongWord

Ein Thema von himitsu · begonnen am 8. Jan 2018 · letzter Beitrag vom 9. Jan 2018
Antwort Antwort
Seite 2 von 4     12 34      
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 17:06
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...

Da reicht eine Hand nicht mehr zum Abzählen, muss man die zweite mit hinzunehmen.
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#12

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 17:17
Joah, vier signed Typen und vier unsigned Typen sind schon echtes Chaos...

Da reicht eine Hand nicht mehr zum Abzählen, muss man die zweite mit hinzunehmen.
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 ...

Geändert von Delphi-Laie ( 8. Jan 2018 um 17:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#13

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 17:22
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#14

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 17:24
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.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 17:52
Joah, vier signed Typen und vier unsigned Typen sind schon echtes Chaos...

Da reicht eine Hand nicht mehr zum Abzählen, muss man die zweite mit hinzunehmen.
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?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#16

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 18:56
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?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#17

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 19:07
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.

Geändert von Delphi-Laie ( 8. Jan 2018 um 19:23 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#18

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 19:12
Und ich dachte Entwickler könnten nur im unendlichen Tabs gegen Leerzeichen-Krieg so emotional werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#19

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 19:28
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.
$2B or not $2B

Geändert von himitsu ( 8. Jan 2018 um 19:36 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#20

AW: plattformabhängigen Integertypen LongInt und LongWord

  Alt 8. Jan 2018, 19:45
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 00:29 Uhr.
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