Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: SMTP - Datei wird nicht mehr versendet

  Alt 14. Jan 2007, 21:30
Herzlich willkommen in der Delphi-PRAXiS, Albert.

Du hast bei der Übernahme der Funktion einen Fehler übernommen und einen neuen Fehler eingeführt - diese haben aber wahrscheinlich keinen Einfluß auf dein Programm. Der Rückgabewert im Fehlerfall sollte besser -1 sein, da Null eine zulässige Dateigröße ist, und die Multiplikation mit MAXWORD verfälscht das Eregbnis, da MAXWORD um 1 zu klein ist:

Delphi-Quellcode:
function GetFileSize(const fn: TFileName): Int64;
var
  hFile: THandle;
  wfd: TWIN32FINDDATA;
begin
  Result := -1;
  hFile := FindFirstFile(PChar(fn), wfd);
  if hFile = INVALID_HANDLE_VALUE
    then Exit
    else Windows.FindClose(hFile);
  Result := Int64(wfd.nFileSizeHigh) shl 32 + wfd.nFileSizeLow;
end;
Deinen Fehler mag ich aber nicht mit dieser Funktion in Zusammenhang bringen. Hast du mal die Dateigröße geprüft, indem du einen Haltepunkt hinter den Aufruf von GetFileSize() setzt?

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat