Avatar billede orca Nybegynder
12. maj 2005 - 16:26 Der er 3 kommentarer og
1 løsning

Undersøge om API kald er færdigt

Jeg kalder en del Win32 API funktioner som til gengæld kalder nogle funktioner i mit program via callback delegates. API funktionerne kalder gerne mine funktioner flere gange for hver gang jeg kalder dem. Jeg ved ikke hvor mange gange mine funktioner vil blive kaldet da det ændrer sig konstant.

Er der nogen måde at finde ud af om API kaldet er færdigt med at eksekvere, og således om jeg kan forvente flere callbacks fra det, førend det bliver kaldet igen?
Avatar billede faedros Nybegynder
13. maj 2005 - 14:13 #1
Du kunne lave et simpelt flag, du sætter når API funktionen kaldes, og clearer igen når den er færdig:

bool InAPIFunction = false;

...

InAPIFunction = true;
APIFunction(..., callback, ...);
InAPIFunction = false;
Avatar billede burningice Nybegynder
14. maj 2005 - 19:06 #2
så kommer problemet bare vis ApiFuntion bliver udført asynkront :(
Avatar billede orca Nybegynder
14. maj 2005 - 20:52 #3
Beklager jeg ikke er vent tilbage før nu. Problemet er netop som cyberfessor nævner at API funktionen kører asynkront fra selve hovedtråden, hvorfor at jeg ikke bare kan lave et boolsk flag.

Jeg har dog løst det vha et workaround, men mit spørgsmål gælder stadig af ren nysgerrighed.
Avatar billede orca Nybegynder
30. maj 2005 - 21:53 #4
Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester