Forum: Win32/Win64 API (native code)
by jbg,
4. Okt 2016
Ich habe wohl zu viel Java programmiert, da gibt es keine unsigned Datentypen.
Und durch die ganzen Cardinals im VirtualTreeView war man nur am Rum-casten, damit der Compiler keine "unsigned mit signed Integer-Vergleich" Warnungen ausspuckte. Deswegen verzichte ich normalerweise auf UInt64/Cardinal, wenn es sich nicht um interne Daten handelt, die von außen (andere Entwickler) zugegriffen...
Forum: Win32/Win64 API (native code)
by jbg,
4. Okt 2016
MAXDWORD ist ums eins zu klein und du bekommst auch noch einen Integer-Overflow da der Compiler nicht automatisch nach Int64 konvertiert.
Probiere es mal so:
var
Groesse: Int64;
Groesse := Int64(wfd.nFileSizeHigh) shl 32 + wfd.nFileSizeLow;