Hallo zusammen,
Ich habe einen "kleinen" Patcher programmiert, der funkt soweit gut, nur wenn ihr mehrer Leute benutzen, kommen sie alle den gleichen Fehler und ich verstehe nicht warum, da dieser Fehler nur bei manchen User auftritt, die Anwendung ist
NonVCL und verbindung über WinINet.
Hier der entsprechende Code:
Delphi-Quellcode:
var DownloadFileSize : LARGE_INTEGER;
Agent := InternetOpen('Darikon_Patcher',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
UrlCon := InternetOpenUrl(Agent,PChar(DownloadURL),nil,0,
INTERNET_FLAG_RELOAD,0);
if UrlCon = nil then
begin
Result := URL_NOT_FOUND;
Exit;
end;
If GetLastError = ERROR_FILE_NOT_FOUND then
begin
Result := URL_NOT_FOUND;
Exit;
end;
try
DownloadFileSize.LowPart := InternetSetFilePointer(UrlCon,0,@DownloadFileSize.HighPart,FILE_END,0);
if GetLastError <> NO_ERROR then //Diese Bedingung ist manchmal True, dürft nicht sein oder?
begin
Result := GET_SIZE_ERROR;
Exit;
end;
Der Witz ist, die Adresse stimmt, nur bei manchen kommt das diese Bedingung True ist warum?
Ich hab die Docu zu dieser Funktion X mal druchgelesen, wenn die Dateigröße stimmt, sollte es <> NO_ERROR sein, ist aber net. Warum?