Solved

Powerbuilder 11, calling VB6 DLL failing on array variable

Posted on 2008-06-23
5
749 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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

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…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.

707 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now