I am trying to pass a 2D VB array of doubles to a PBDLL SUB that
sums each row. I keep getting an error that "The object invoked
has disconnected from it's clients."
Here is an example that illustrates the problem. Anyone know what
is wrong?
Thanks,
Gene
SUB SumArray ALIAS "SumArray" (a AS DWORD, r AS DWORD) EXPORT
' sum each row in the 2D array "a"
' and return the results in array "r"
REGISTER sum AS EXT
REGISTER row AS LONG
REGISTER col AS LONG
DIM vb AS DWORD
DIM rows AS LONG
DIM cols AS LONG
rows = vbArrayUBound(a, 1)
cols = vbArrayUBound(a, 2)
vb = vbArrayFirstElem(a)
DIM a(1 TO rows, 1 TO cols) AS DOUBLE AT vb
vb = vbArrayFirstElem(r)
DIM r(1 TO rows) AS DOUBLE AT vb
FOR row = 1 TO rows
sum = 0.0
FOR col = 1 TO cols
sum = sum + a(row,col)
NEXT col
r(row) = sum
NEXT row
END SUB
------------------
Gene
sums each row. I keep getting an error that "The object invoked
has disconnected from it's clients."
Here is an example that illustrates the problem. Anyone know what
is wrong?
Thanks,
Gene
SUB SumArray ALIAS "SumArray" (a AS DWORD, r AS DWORD) EXPORT
' sum each row in the 2D array "a"
' and return the results in array "r"
REGISTER sum AS EXT
REGISTER row AS LONG
REGISTER col AS LONG
DIM vb AS DWORD
DIM rows AS LONG
DIM cols AS LONG
rows = vbArrayUBound(a, 1)
cols = vbArrayUBound(a, 2)
vb = vbArrayFirstElem(a)
DIM a(1 TO rows, 1 TO cols) AS DOUBLE AT vb
vb = vbArrayFirstElem(r)
DIM r(1 TO rows) AS DOUBLE AT vb
FOR row = 1 TO rows
sum = 0.0
FOR col = 1 TO cols
sum = sum + a(row,col)
NEXT col
r(row) = sum
NEXT row
END SUB
------------------
Gene
Comment