Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wird Callback Routine an richtiger Stelle aufgerufen? (https://www.delphipraxis.net/92672-wird-callback-routine-richtiger-stelle-aufgerufen.html)

Mackhack 24. Mai 2007 06:07


Wird Callback Routine an richtiger Stelle aufgerufen?
 
Hallo DPler,

ich habe mit hilfe der WinInet Unit einen Dateiuploader geschrieben. Darin versuche ich auch mit einer Callback Routine den Status abzufragen und anzuzeigen. Nun meine eigentliche Frage:

Ist der Aufruf der Callback Routine an der richtigen Stelle?

Delphi-Quellcode:
...
  // Open an Internet Session
  try
    hNet := InternetOpen('WebUploader', INTERNET_OPEN_TYPE_PRECONFIG, Nil, Nil, 0);
    if ( Assigned(hNet) ) then
    try
      InternetSetStatusCallback(hNet, @StatusCallback);
      //Open FTP Server
      hFTP := InternetConnect(hNet, PChar(aHost), aPort, PChar(aUser), PChar(aPassword), INTERNET_SERVICE_FTP, 0, 0);
    except
      GetServerStatus;
    end;
  except
    GetServerStatus;
  end;
...

Luckie 24. Mai 2007 08:56

Re: Wird Callback Routine an richtiger Stelle aufgerufen?
 
Was heißt, "an der richtigen Stelle"? Da ein Handle benötigt wird, welches unter anderem von InternetOpen geliefert wird, kann das Setzen nur irgendwo danach mit InternetSetStatusCallback erfolgen.

Allerdings, was deine try-except-Blöcke angeht, Win-API Funktionen werfen in der Regel keine Exceptions. Guck lieber im PSDK noch mal nach, was im Fehlerfall dort passiert.

Mackhack 24. Mai 2007 16:28

Re: Wird Callback Routine an richtiger Stelle aufgerufen?
 
Luckie ich habe gesehen dass du hier im Board auch diese Callback Procedure mal gezeigt hast.

Hier zu finden

Wie verwendest du diese denn? Ich meine wie kommt das was in S gespeichert ist denn auf den Bildschirm?

Danke!

Sunlight7 25. Mai 2007 03:24

Re: Wird Callback Routine an richtiger Stelle aufgerufen?
 
Moin!

Delphi-Quellcode:
hFTP := InternetConnect(hNet, PChar(aHost), aPort, PChar(aUser), PChar(aPassword), INTERNET_SERVICE_FTP, 0, AllesAusserNull);
Der letzte Parameter darf net 0 sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz