Quote:
|
Originariamente inviato da okay
ora dal main.cpp devo prelevare contatore che vale 0 come punto dal main.cpp contatore (che vale 0) nel case okay posto in MyMessageHandler che stà nella dll??
senza fare una funzione per il prelievo delle variabili come scritto sopra che sarebbe un suicidio di programmazione??
|
Ok ... la tua esposizione non è chiarissima ma ora ho capito: tu vuoi che la variabile 'contatore' sia direttamente visibile all'eseguibile.
Io prima avevo capito che il tuo problema era esportare le funzioni ... chiedo scusa.
Comunque si può fare: basta semplicemente esportare la variabile dalla DLL. Una cosa del tipo:
__declspec(dllexport) int contatore;
Tieni presente (ma credo che tu lo sappia già) che ogni processo che carica la DLL ha una sua copia della sezione dati della DLL. Quindi il processo A vede una variabile 'contatore' e il processo B vede un'altra variabile 'contatore'.
Tecnicamente si potrebbe anche creare una sezione "shared" all'interno della DLL in modo che tutti gli eseguibili che caricano la DLL vedano una unica variabile 'contatore' ma a te probabilmente non serve.