Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Delphi 7] Variabili di tipo Procedurali (Callback) ... problema

    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 ...
    type
    TDocDone = 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
    Begin
    If 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

  2. #2
    Trovato !!!
    Grazie lo stesso

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.