Re: idl and SAFEARRAY
Let's step back. What do you mean by saying it crashes?
If you mean it fails with an error you fail to handle in VB,
that's not a crash - that's a failure. In that case what is the
error VB reports (e.g. after you use on error handling in
your code)?
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================
"HasEx" <HasEx@newsgroups.nospam> wrote in message
news:O5lhnqT0GHA.1536@TK2MSFTNGP02.phx.gbl...
Thank you for the reply. I did try it, still crashes. But the following
works for no reason.
Dim a As New idlcrashLib.testobject
Sub test(z() As Double)
Dim d() As Double
d = z
a.myarray = d
End Sub
Sub star_testing()
Dim y(2) As Double
test y
End Sub
Any more ideas please?
Has
"Alexander Nickolov" <agnickolov@mvps.org> wrote in message
news:etOPWST0GHA.3656@TK2MSFTNGP04.phx.gbl...
Not sure about VBA, but in VB you need to declare it as
a redim-mable array and ReDim it first:
dim y() as Double
redim y(2)
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================
"HasEx" <HasEx@newsgroups.nospam> wrote in message
news:eOYKWpQ0GHA.1536@TK2MSFTNGP02.phx.gbl...
Please tell me what is going on with the following, a possible MS bug?
Many thanks.
Has
I have the following interface impld as ATL simple object (dll)
No code of mine is added!!!
interface Itestobject : IDispatch{[propput,helpstring("property
myarray")]HRESULTmyarray([in] SAFEARRAY(double)* myarray);};
the following code will crash from VBA
Dim a As New idlcrashLib.testobject
Sub test(z() As Double)
a.myarray = z
End Sub
Sub star_testing()
Dim y(2) As Double
test y
End Sub
If I use a method instead of "put property", so VBA can be written as
(no "=" anymore)
this works fine.
Dim a As New idlcrashLib.testobject
Sub test(z() As Double)
a.myarray z
End Sub
Sub star_testing()
Dim y(2) As Double
test y
End Sub