Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Defining an External Function Call to a DLL in PowerBuilder 12.5.2 Build 5006 1

Status
Not open for further replies.

Psyconic

Programmer
Oct 8, 2013
2
AU
Hey guys I am calling the GDAit DLL that can be found here Link .

I want to call the following external function from Powerbuilder 12.5.2 Build 5006.

Function prototype from the documentaion:
long __stdcall TransGeogPt(LPSTR psGridFile, long lDirection, double dLatitude, double
dLongitude, double* pdLatNew, double* pdLongNew, double* pdLatAcc, double*
pdLongAcc)


The following code is my PowerBuilder External call to the function.

FUNCTION long TransGeogPt(string psGridFile, long lDirection, double dLatitude, double dLongitude, ref double pdLatNew, ref double pdLongNew, ref double pdLatAcc, ref double pdLongAcc) LIBRARY "GDAit.dll" ALIAS FOR TransGeogPt

I just want to make sure I am defining the external function call correctly.
any comments would be greatly appreciated.
 
Problem Solved the external call should be : -

FUNCTION long TransGeogPt(string psGridFile, long lDirection, double dLatitude, double dLongitude, REF double pdLatNew, REF double pdLongNew, REF double pdLatAcc, REF double pdLongAcc) LIBRARY "GDAit.dll" ALIAS FOR "TransGeogPt;ansi"

Notice the ALIAS FOR "TransGeogPt;ansi" which fixed the call.
 
From PB Help

External function syntax Use the following syntax to declare an external function:

{ access } FUNCTION returndatatype name ( { { REF } datatype1 arg1,
..., { REF } datatypen argn } ) LIBRARY "libname"
ALIAS FOR "extname{;ansi}”

------------------------------------------
Ashish
LinkedIN Link
http://powerbuildernotes.blogspot.in/
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top