Vraag & Antwoord

Programmeren

[VB6] CallBack

4 antwoorden
  • Ik was eerst van plan om een hele uitgebreide topic te starten over hoe een CallBack nou werkt, als vraag, maar ik geloof dat ik het al door heb, alleen weet ik het niet zeker. dus... klopt dit: Bij bepaalde API-functie-declaraties zitten er parameters/argumenten bij, die ook weer verwijzen naar een functie. Wanneer je dan de API-Functie aanroept, moet je dus ook een functie meesturen (als parameter/argument), en dat is de CallBack-Functie die door windows kan worden aangeroepen. voor die callbackfunctie kun je ook code schrijven, zodat je op signalen van windows kunt reageren. PS. Als je een betere formulering denk te kunnen maken, wees niet verlegen post hem hier, ik ben namelijk nogal slecht in het uitleggen van dingen
  • Een callback functie is een functie die aangeroepen wordt vanuit een andere functie, op het moment dat deze feedback wil terugleveren. Een callback functie wordt hierbij als een parameter meegegeven aan een andere functie, zodat deze functie weet waar de callback functie zich bevindt.
  • en hoe weet ik hoeveel parameters mijn CallBack functie dan zal moeten ontvangen van de eerste functie? als het namelijk om een API-functie gaat, heb ik geen idee. of is dat met een tool als api text viewer te achterhalen?
  • Hoeveel parameters je functie nodig heeft en de types ervan weet je niet. Ook de zogenaamde calling conventie is onbekend en ook deze is noodzakelijk om te weten omdat deze bepaalt op welke wijze parameters worden doorgegeven. Ik weet niet hoe dit in VB gaat maar in Delphi bijvoorbeeld kun je functies declareren als cdecl, pascal, safecall, register en nog enkele andere types. Er zijn ook geen tools die kunnen bepalen welke parameters doorgegeven moeten worden en welke types deze zijn. Maar meestal zijn API callback functies wel ergens gedefinieerd. In enkele gevallen bevat de binary ook de nodige type-informatie maar dit is meestal bij ActiveX componenten. (Als typelibrary) Op de MSDN site van Microsoft valt van bijna alle Windows API's wel de nodige informatie te vinden.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.