AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ULONG Typ in Delphi als Cardinal definiert!?
Thema durchsuchen
Ansicht
Themen-Optionen

ULONG Typ in Delphi als Cardinal definiert!?

Ein Thema von richard_boderich · begonnen am 6. Dez 2007 · letzter Beitrag vom 19. Dez 2007
Antwort Antwort
Seite 2 von 2     12   
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#11

Re: ULONG Typ in Delphi als Cardinal definiert!?

  Alt 7. Dez 2007, 17:24
Zitat von himitsu:
eigentlich ist doch ulong ein LongWord
LONG ist jedenfalls LongInt
Ich glaube ganz so stimmt das nicht. In C sind die Datentypen (afaik) generisch, so wie Integer und Cardinal es unter Delphi sind. Die tatsächliche Größe hängt somit von der Plattform ab, unter der das ganze laufen soll. Ein LongWord hingegen ist immer fest in seiner Größe (eben anders als Cardinal oder Integer). Es gibt auf jeden Fall keine garantien dafür, dass ein long int genau 16, 32 oder x bit groß ist unter C. Ich denke darauf zielte auch die Frage von Richard Boderich ab.

[edit]
Sorry, muss mich kurz korrigieren, meinte eigentlich eher die Frage bzw. Antwort von Bernhard Geyer
[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#12

Re: ULONG Typ in Delphi als Cardinal definiert!?

  Alt 7. Dez 2007, 17:29
ja stimmt

Ich habe festgestellt, das wenn ich für den Parameter Time von TKBasicInformation einen Int64 nehm füllt windows anscheinend sie Struktur nicht mehr richtig. Tlasttimewrite sollte eigentlich auch 2 Dword beinhalten statt 2 word. jedoch kracht es dann wieder.
Entweder ich lese die Struktur falsch aus, oder es liegt am Typ des Feldes Time? Die Länge und der String werden ja richtig ausgelesen , das habe ich überprüft.

Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#13

Re: ULONG Typ in Delphi als Cardinal definiert!?

  Alt 19. Dez 2007, 09:43
Zitat von Der_Unwissende:
Ich glaube ganz so stimmt das nicht. In C sind die Datentypen (afaik) generisch, so wie Integer und Cardinal es unter Delphi sind. Die tatsächliche Größe hängt somit von der Plattform ab, unter der das ganze laufen soll. Ein LongWord hingegen ist immer fest in seiner Größe (eben anders als Cardinal oder Integer). Es gibt auf jeden Fall keine garantien dafür, dass ein long int genau 16, 32 oder x bit groß ist unter C. Ich denke darauf zielte auch die Frage von Richard Boderich ab.
Das stimmt so leider nicht. Bsp. ULONG. Im Kernelmode ist ULONG die Bezeichnung, welche statt DWORD (im UM) benutzt wird. ULONG ist auch bei einer 64bit-Zielplattform ala x64 noch 32bit breit. Hingegen ULONG_PTR, hat die Breite eines Pointers, unterscheidet sich also je nach Zielplattform. Ich kann mir eigentlich nicht vorstellen, daß es für ULONG im UM anders ist.

Abgesehen davon, sind das ohnehin nur Vereinbarungen in den Headern, die man eben benutzen kann oder nicht. Wenn man es nicht mag, nimmt man die Grundtypen der Sprache, welche man benutzt.

Bsp C++:

unsigned long int
long int

@richard: Das Feld für den Namen sieht eigenartig aus. Sicher, daß es nicht etwas ala "array[0..1] of WCHAR" ist?
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#14

Re: ULONG Typ in Delphi als Cardinal definiert!?

  Alt 19. Dez 2007, 11:38
@Olli

mit dem WChar hast du natuerlich recht. Es ist eine array of wchar. Hatte es nur abgetippt, da ich meine Zwischenablage nicht nutzten konnte.

mfG Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 04:09 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