Ciao a tutti, mi sono imbattuto da poco (per motivi di lavoro) in questi tipi di varabili "Procedurali"
Per chi è serrato in C++ si tratta delle funzioni definite "di callback" (se non sbaglio)
In pratica ho un problema nel ricevere un un valore da una determinata funzione.
Questa funzione è esterna e si trova in una dll (con dodifica Cdecl), da questa funzione dovrei ricevere un buffer ... il mio problema è che con questi tipi di variabili non riesco a capire come fare.
Di seguito elencherò una variabile da me istanziata (che funziona benissimo) dalla quale ricevo un Integer , la seconda ... non so' come istanziarla !!!
//Imposto la variabile procedurale di tipo esterno ...
typeTDocDone = function (documentdone:integer):Integer; cdecl;
//chiamata API
Function FdF_MiaFunzione(MydocDone:TdocDone):Integer; Cdecl;external 'miadll.dll';
Var
//Dichiaro la mia funzione callback
Function RetDocDone(DocDone:Integer):Integer;Cdecl;
...
...
//Implemento la funzione
Function RetDocDone(DocDone:Integer):Integer;Cdecl
BeginIf DocDoce = 1 Then
begin
Showmessage('OK');
Result := 1;
end
else
Result:=0;
End;
Fin qui tutto OK; il problema è implementare questa :
(la trascrivo come mi viene dichiarata da C++)
int GetCodeLine (void (*userfunc)(unsigned char *));
Provandola a scrivere come sopra ... non riesco a capire come dichiarare unsìgned char* (che deve avere una dimensione di 255 caratteri.
Qualcuno puo' scrivere un esempio su quello che ho scritto su ?
Grazie mille in anticipo