Powerbuilder 11, calling VB6 DLL failing on array variable

Posted on 2008-06-23
Last Modified: 2013-12-26
I have a small VB 6 DLL that I'm creating to house a complex calculation already written in VB6.  I'm calling it from Powerbuilder 11.1.  I can get the two to interact successfully, passing doubles, returning doubles, doing bogus calculations within the VB DLL.  However, as soon as I incorporate an array variable in the VB code, Powerbuilder returns an error when trying to call the function.  

The actual calculations uses many array variables, some multi-dimensional, which it loops through for various computations.  

Why is this failing on the array variable?

'For example, this VB code works
Public Function GetValue(ByVal x as double, ByVal y as double) as double
Dim Z as double
End Function
'This VB code will fail when called from PB 11
Public Function GetValue(ByVal x as double, ByVal y as double) as double
Dim Z(1) as double
End Function

Open in new window

Question by:erika9star
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 26

Expert Comment

ID: 21854492

you have not use Z variable from anywhere

Author Comment

ID: 21855245
True.  And yet it still causes a failure, even with only a declaration of the variable.  If I can't declare an array, I certainly can't use one.
LVL 26

Expert Comment

ID: 21855525
don't know much about Powerbuilder, do they use base 1 or base 0

if 1 then you may wan to add

Option Base 1

have you also tried

Dim Z() as double

redim Z(1)

Author Comment

ID: 21858616
PB uses base 1.  

I have tried dim and redim.  No luck there either.

I've found that the VB "On Error Goto ... " Statements seem to be causing a function call failure as well.  It looks as if I'll be trying a different route.

Accepted Solution

erika9star earned 0 total points
ID: 21858638
I'm rewriting the VB code into PowerBuilder.  Not my preferred solution, but it'll have to do.

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question ( in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question