- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm attempting to use a VB object provided by Telechart (TC2000Dev.cTC2000) I do the initiation sequences and everything is fine. I get the error x'80004005' attempting to obtain any array from the VB program, e.g.:
integer(4), volatile :: w(8000) character(8), volatile :: s(8000)invoke_args = AUTOAllocateInvokeArgs( )
CALL AUTOaddarg(invoke_args, '$ARG1', s,auto_arg_out) CALL AUTOaddarg(invoke_args, '$ARG2', w,auto_arg_out)status = AUTOinvoke(idispatch,'GetSymbols', invoke_args)
CALL AUTODeallocateInvokeArgs (invoke_args)The VB calling sequence for GetSymbols is:
Sub GetSymbols(Symbols() As String, WordenNumbers() As Long)
The returned arguments have less than 8000 elements. Thetypes of character and integer(4) are acceptable and the VB subroutine obviously runs (takes 2+ seconds).Using Degug, I look at theargument parameter list built by Autoaddargs and I can see the returned Safearrays which are built correctly with the data to be returned. The error eems to be generated when Autoinvoke attempts to more the data from the Safearraysbuiltby VB back to the Fortran arrays. I have tried all different types of arrays, i.e. Allocatable and Pointer with and without the Volataile property.
The error seemsnot to be documented anywhere. Anybody know what it is trying to tell me or how I can solve?? Thanks.
Link Copied

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page