Hallo jongens,
Ik heb een intermitterende (heb een liefde die degenen) met een EA en een DLL-ive geschreven. De EA werkt op 5 verschillende paren, maar de informatie die wordt doorgegeven aan de DLL is in essentie dezelfde, zij het verschillende, werkelijke waarden.
Het probleem dat ik heb is dat gegevens van het ene paar worden opgehaald door de EA op een ander paar. Ik stuur bijvoorbeeld naar de EA-gegevens om de juiste lotgrootte te berekenen, als ze individueel worden uitgevoerd, werken ze prima, soms als ze allemaal tegelijk worden uitgevoerd, krijgen ze allemaal dezelfde lots.
Ik lees ergens hier dat wanneer je vanuit meerdere kaarten toegang hebt tot een enkele DLL zoals deze, je feitelijk dezelfde geheugenruimte deelt, wat de conclusie was die ik heb bereikt, het is bijna willekeurig wat de gegevens zijn die ik in de array nodig heb om te schrijven opgepikt worden door de DLL. Oh op dat punt im met behulp van verwijzingen. hier is de DLL-verklaring:
#import xxx.dll
bool f1 (string arr1 [10], double arr2 [40], double rates1 [2000] [6], double rates2 [2000] [6]);
dubbele f2 (string arr1 [10], dubbele arr2 [40], dubbele rates1 [2000] [6], double rates2 [2000] [6]);
Heb ik gelijk in mijn idee van wat het probleem is, zo ja, is er dan een redelijke oplossing anders dan het DLL-proces voor elk paar te verdubbelen?
bij voorbaat dank