View Single Post
Old 09-01-2007, 17:46   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
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.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso