Einzelnen Beitrag anzeigen

Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#36

Re: FileSplitter: Probleme mit großen Dateien

  Alt 29. Mär 2008, 18:12
Moin moin,
Zitat von Luckie:
Was passiert denn da im Debugger?
Delphi rechnet standardmäßig mit 32Bit Werten. Da die Funktion GetDlgItemInt einen 32 Bit Wert als
Result liefert und auch alle anderen Multiplikatoren Delphi zu nichts anderem veranlassen,
wird da auch weiter nichts berücksichtigt.
Du kannst es austesten, in dem du direkt den maximalen LongWord Wert anstelle der Funktion GetDlgItemInt
eingibst. Also:SizeOfParts := 1024*1024*4294967295; Jetzt "bemerkt" der Compiler den Überlauf und meckert das auch an.

Folgender Code weißt Delphi an, mit 64 Bit zu rechen,SizeOfParts := Int64(1024)*1024*4294967295; und voilà es lässt sich kompilieren + das Ergebnis stimmt.

Hier ist jetzt genau ein Wert mit bei, der vom Typ Int64 ist. Somit richtet der Compiler alles auf
64 Bit aus.

Es müsste also theoretisch ausreichen, einen Faktor in Int64 zu casten.
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat