Hallo zusammen,
letztens hatte ich eine Anfrage bzgl. der Übergabe eines Arrays von VBA an eine DLL gestellt. Die Lösung hat sich ja eingestellt.<br>
ALlerdings hat sich mir in diesem Zusammenhang ein erneutes Problem eröffnet.<br>
Wenn ich ein mehrdimensionales Feld von VBA an die DLL übergebe, so muss ich unter anderem die Größe unterscheiden:<br>
Sofern in VBA und in Delphi das Array eine Größe von (0..2,0..2) habe, sind die Werte die von VBA übergeben wurden auch in der DLL an der selben Stelle (Beispiel: ein Wert befindet sich in VBA an der Stelle 2,1 so befindet er sich auch in der DLL an der Stelle 2,1).<br>
Wenn ich nun ein Array in der Größenordnung (0..1000,0..2) habe, so sieht das ganz anders aus.<br>
In VBA ist der Wert noch an der Stelle 2,1 in der DLL plötzlich an der Stelle 334,1!!!<br>
<br>
Wie kommt das? Letztendlich wird doch nur die Referenz auf das erste Feld übermittelt!<BR>
<br>
Kann mir jemand einen Tipp geben, wie ich das Array in der neuen Größenordnung korrekt auswerten kann - ohne es in einzelne eindimensionale Arrays umzuwandeln und in Delphi wieder zusammenzufügen? <br>
<br>
Danke für Tipps.<br>
Ronald
letztens hatte ich eine Anfrage bzgl. der Übergabe eines Arrays von VBA an eine DLL gestellt. Die Lösung hat sich ja eingestellt.<br>
ALlerdings hat sich mir in diesem Zusammenhang ein erneutes Problem eröffnet.<br>
Wenn ich ein mehrdimensionales Feld von VBA an die DLL übergebe, so muss ich unter anderem die Größe unterscheiden:<br>
Sofern in VBA und in Delphi das Array eine Größe von (0..2,0..2) habe, sind die Werte die von VBA übergeben wurden auch in der DLL an der selben Stelle (Beispiel: ein Wert befindet sich in VBA an der Stelle 2,1 so befindet er sich auch in der DLL an der Stelle 2,1).<br>
Wenn ich nun ein Array in der Größenordnung (0..1000,0..2) habe, so sieht das ganz anders aus.<br>
In VBA ist der Wert noch an der Stelle 2,1 in der DLL plötzlich an der Stelle 334,1!!!<br>
<br>
Wie kommt das? Letztendlich wird doch nur die Referenz auf das erste Feld übermittelt!<BR>
<br>
Kann mir jemand einen Tipp geben, wie ich das Array in der neuen Größenordnung korrekt auswerten kann - ohne es in einzelne eindimensionale Arrays umzuwandeln und in Delphi wieder zusammenzufügen? <br>
<br>
Danke für Tipps.<br>
Ronald