Ciao ragazzi,

Sto avendo un intermittente (gota ama quelli) con un EA e una DLL scritta. L'EA funziona su 5 coppie diverse, ma le informazioni passate alla DLL sono essenzialmente gli stessi valori effettivi, anche se diversi.

Il problema è che i dati di una coppia vengono raccolti dall'EA su un'altra coppia. Per esempio, mando i dati EA per calcolare il corretto LotSize, se vengono eseguiti individualmente, funzionano bene, a volte quando li eseguo tutti insieme, finiscono tutti con lo stesso molto.

Ho letto da qualche parte qui che quando si accede a una singola DLL come questa da più grafici, si sta effettivamente condividendo lo stesso spazio di memoria, che è stata la conclusione che ho raggiunto, è quasi casuale su quale uno scrive i dati che ho bisogno nella matrice per essere prelevato dalla DLL Oh su quel punto sto usando i puntatori. ecco la dichiarazione della DLL:

#import xxx.dll
bool f1 (stringa arr1 [10], double arr2 [40], double rate1 [2000] [6], double rates2 [2000] [6]);
double f2 (string arr1 [10], double arr2 [40], double rate1 [2000] [6], double rates2 [2000] [6]);

sono corretto nella mia idea di qual è il problema, se è così, c'è qualche soluzione ragionevole oltre a duplicare la DLL per ogni coppia?

Grazie in anticipo