![]() |
WinInet - InternetSetStatusCallback reagiert nicht
Hallo allerseits,
ich lade mit FtpGetFile eine Datei vom Server und möchte erreichen, dass während des Downloads die procedure StatusCallback mehrmals aufgerufen wird, um den Fortschritt des Downloads zu bearbeiten. Der Download selbst funktioniert einwandfrei, nur wird die procedure leider nie aufgerufen. Weiss jemand, was ich da falsch mache? Leider geht aus der Dokumentation der Routinen von Microsoft auch nicht hervor, wann bzw. wo InternetSetStatusCallback im Quellcode eingefügt werden muss. Hier die relevanten Teile des Codes:
Delphi-Quellcode:
mfg
hSession := InternetOpen(PChar(Application.Title),
INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); hConnect := InternetConnect(hSession, PChar(Server.Text), INTERNET_DEFAULT_FTP_PORT, PChar(User.Text), PChar(Passwort.Text), INTERNET_SERVICE_FTP or WININET_API_FLAG_ASYNC, 0, 0); InternetSetStatusCallback(hSession, @StatusCallback); result := FtpGetFile(hConnect, PChar(aUrl), PChar(aLokalFile), false, 64, FTP_TRANSFER_TYPE_BINARY, dwBytes); procedure StatusCallback(hInet: HINTERNET; Context, Status: DWORD; pInformation: Pointer; InfoLength: DWORD); begin ShowMessage('Callback'); end; Herbert |
Re: WinInet - InternetSetStatusCallback reagiert nicht
Hallo Herbert,
ein paar Hinweise:
marabu |
Re: WinInet - InternetSetStatusCallback reagiert nicht
Hallo marabu,
das Fehlen von stdcall war es. Jetzt funktioniert das mal. Das ShowMessage war nur versuchsweise, jetzt gebe ich die Ergebnisse in einer Liste aus. Wie ich den Rückgabewert der Funktion InternetSetStatusCallback noch auswerten kann, ist mir noch unklar, aber damit werde ich noch herumexperimentieren. Nochmals allerherzlichen Dank für deine Hilfe. mfg Herbert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz