Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language

Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

C# Programming


Hi .NET Masters :-)

Please help me to get out of following situation ...

There is a function in one of my dlls whose signature is as follows :
my_function(integer X,  integer Y, char* Z, HAD A, HAD P)

Here HAD is defined as follows in one of the header files as :

#define HAD                         LPSAFEARRAY FAR *

The above dll was written in VC++ 6.0 . I use to call this function
in my Visual Basic 6.0 application.

Recently , I upgraded my Visual Basic application and found
that its giving "SafeArrayTypeMismatchException"

Declaration for my Function is as follows :

Declare Function my_function Lib "tcvbadm.dll" (ByVal X As Integer,
ByVal Y
As Integer, ByVal Z As String, A() As String, A() As Integer) As

And the way I am calling in my VB application is as follows :

Dim li_count as Integer
ReDim la_leaf(li_count) As String
 ReDim la_access(li_count) As Integer

retcode = my_function(X, Y, Z, A(), B()) ' HERE I AM GHETTING THE

'I fetch li_count through a different fi=unction call which returns an
integer value.

Please let me know if any further info is reqd regarding this. Any
would be highly apprecaited ,
Thanks a lot in advance.

Thanks & Regards

Sudhansu Tiwari

On Jun 5, 8:00 pm, Phoenix <sudhansutiw@gmail.com> wrote:

Note the mapping of data types:
VB6       -> VB.NET
Integer   ->  Short
Long      ->  Integer

Try re- declaring variables.

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc