Solved

Powerbuilder 11, calling VB6 DLL failing on array variable

Posted on 2008-06-23
5
756 Views
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
 
GetValue=X+Y
 
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
 
GetValue=X+Y
 
End Function
'-------------------------------

Open in new window

0
Comment
Question by:erika9star
  • 3
  • 2
5 Comments
 
LVL 26

Expert Comment

by:EDDYKT
ID: 21854492
?

you have not use Z variable from anywhere
0
 

Author Comment

by:erika9star
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.
0
 
LVL 26

Expert Comment

by:EDDYKT
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)
0
 

Author Comment

by:erika9star
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.
0
 

Accepted Solution

by:
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.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) 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…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.

825 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