AGB  ·  Datenschutz  ·  Impressum  







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

PLongint Frage

Ein Thema von TurboMagic · begonnen am 3. Jan 2022 · letzter Beitrag vom 3. Jan 2022
Antwort Antwort
Seite 1 von 2  1 2      
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#1

PLongint Frage

  Alt 3. Jan 2022, 17:57
Hallo,

in einem Code den ich gerade in angepasster Form übernehmen möchte,
ist diese Typdeklaration enthalten:

PLong = ^longint; Meine Überlegung war jetzt, dass es das doch auch schon in Delphi definiert geben müsste.
Mein Code soll, anders als der Original Code der bis zu TP was weis ich kompatibel sein
sollte, ab 10.1 Berlin funktionieren.

Da ich das nicht installiert habe, habe ich versucht über das Docwiki rauszufinden, ob
es dort schon diese aus 11.0 Alexandria bekannte Deklaration gibt:

PLongInt = ^LongInt; Bin dabei auf diese DocWIki Seite gestoßen:
https://docwiki.embarcadero.com/Libr...ystem.PLongint

Nur: dort steht
PLongint = ^Integer; In meinem Code den ich übernehmen will, wird der als PLong deklarierten Variable die Adresse
des ersten Elements eines ARrays zugewiesen und später wird diese Variable auch mittels Inc
inkrementiert.

=> Welchen ab mind. 10.1 Berlin vorhandenen Datentyp für diese Variable am besten benutzen?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: PLongint Frage

  Alt 3. Jan 2022, 18:01
PLongInt sollte es schon ewig geben (mindestens einstellige Delphis)

Delphi-Quellcode:
{$IF Declared(PLongInt)} 
type PLongInt = ^Integer;
{$IFEND}
Sowas gnge zwar auch, aber wäre hier eh bissl nutzlos, da LongInt schon lange vor den ConditionalDefines erfunden worden sein sollte.


Aber will man das PLong nicht umbenennen, dann halt type PLong = PLongInt; .
LONG ist ja das, was in Delphi LongInt heißt.
$2B or not $2B

Geändert von himitsu ( 3. Jan 2022 um 18:06 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#3

AW: PLongint Frage

  Alt 3. Jan 2022, 18:05
Naja, aber weil das Docwiki von 10.1 Berlin das als ^integer darstellt (siehe den von mir geposteten Link)
bin ich mir nicht sicher ob das dann mit 64 bit Compilern so gut tut?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: PLongint Frage

  Alt 3. Jan 2022, 18:08
Achso.

Egal. (so lange du nicht für 16 Bit kompilieren willst ... Delphi 1 oder Turbo Pascal)

Integer = LongInt


Irgendwelche Arschlöcher kamen auf die saugeile Idee den Integer einzufrieren.
Er wächst also nicht mehr bei 64 Bit. (dafür gibt es nun das NativeInt ... und vergessen wie es im C++ heißt)
$2B or not $2B
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#5

AW: PLongint Frage

  Alt 3. Jan 2022, 18:11
Ich verstehe dich dann also so, dass EMBT einfach zwischen 10.1 Berlin und 11.0 ALexandria irgendwo
die Definition geändert hat, damit das auch der Namensgebung des Pointertypes entspricht, es aber
code technisch keine Auswirkung hat. Richtig?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: PLongint Frage

  Alt 3. Jan 2022, 18:14
Nee, Intel und dergleichen waren Schuld, als sie die Spezifikation für 64-Bit-CPUs rausbrachten.

Microsoft machte es dann bei sich in seinem Compiler
und Delphi mußte nachziehn (brauchte nur bissl länger dafür).


Jupp, da identisch keine Auswirkung.


"syntaktisch" ist es so "eigentlich" falsch, aber da es niemand bemerkt hat, blieb der Fehler im Delphi so.
Der Pointer zu LongInt sollte natürlich aus LongInt gebildet werden, auch wenn Integer der "selbe" Typ ist.
$2B or not $2B

Geändert von himitsu ( 3. Jan 2022 um 18:17 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#7

AW: PLongint Frage

  Alt 3. Jan 2022, 18:16
Seufz!
Wollte eigentlich gerade nicht das ganz große Bild drumherum erklärt bekommen.

Was ich wissen wollte ist, ob PLongInt so wie es in 10,1 definiert ist und in 11.0
dasselbe Ergebnis für meinen Code erzielen wird.

Ich schätzte ja, oder?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: PLongint Frage

  Alt 3. Jan 2022, 18:19
Es ist egal, wie es definitert ist, da ja Integer=LongInt.
$2B or not $2B
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: PLongint Frage

  Alt 3. Jan 2022, 18:51
Doku für 10.4
und
Doku für 11

sagen beide

PLongInt = ^LongInt; Bei Longint ist die Größe abhängig vom System, siehe Doku:

https://docwiki.embarcadero.com/Libr...System.Longint
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#10

AW: PLongint Frage

  Alt 3. Jan 2022, 19:49
For 10.1 sagte die Doku halt noch was anderes...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:06 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