1. Service Dev
  2. PowerBuilder
  3. Wednesday, 28 July 2021 14:20 PM UTC

Hello,

In my company we have several PowerBuilder programs that use PBNI (PowerBuilder Native Interface) with libraries written in C ++.
The programs are currently compiled in 32-bit.
It is possible to compile in 64-bit 
without losing PBNI functionality?
The executable 'pbx2pbd' that we use is only 32-bit?

John Fauss Accepted Answer Pending Moderation
  1. Wednesday, 28 July 2021 14:52 PM UTC
  2. PowerBuilder
  3. # 1

You can produce a 64-bit PBNI .pbx (renamed .dll), although I have not done so personally.

The download page at Roland Smith's TopWizProgramming web site for his PBNISMTP free tool

https://www.topwizprogramming.com/pbnismtp.html

provides the ability to download the complete Visual Studio 2017 solution for this utility. Roland states the PBNISMTP utility can be used in 32-bit and 64-bit versions.

 

Comment
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 28 July 2021 15:09 PM UTC
  2. PowerBuilder
  3. # 2

The documentation says: 

PowerBuilder Native Interface (PBNI)

You can only use 32-bit PowerBuilder extensions in the PowerBuilder Classic IDE. For runtime, package and distribute 64-bit extension libraries with your 64-bit applications. The file names of your 64-bit extension should match the 32-bit file names, since the application references it by file name.

Comment
There are no comments made yet.
Bruce Armstrong Accepted Answer Pending Moderation
  1. Wednesday, 28 July 2021 21:32 PM UTC
  2. PowerBuilder
  3. # 3

>>It is possible to compile in 64-bit without losing PBNI functionality? 

Yes.  There are a separate set of include, header and lib files for 64 bit packaged with PowerBuilder.  Just add 64 bit compiles to your VS project and reference the 64 bit includes, headers and lib files in the settings for those compiles.

>>The executable 'pbx2pbd' that we use is only 32-bit?

All that does is create a PBD that wraps the extension.  If that doesn't work for a 64 bit extension ( I don't know why it wouldn't, but I haven't tried it) just do an import of the extension directly into a PBL.  That's pretty much all the utility is doing anyway. In fact, if you keep the file name the same between the 32 and 64 bit extension, a PBD that you created using PBXTOPBD should work fine with the 64 bit extension.

Comment
There are no comments made yet.
Service Dev Accepted Answer Pending Moderation
  1. Thursday, 29 July 2021 06:39 AM UTC
  2. PowerBuilder
  3. # 4
Thanks for the replies, it works! :)
Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.