1. Dennis Little
  2. PowerBuilder
  3. Friday, 4 August 2017 12:51 PM UTC

Greetings All.  We recently upgraded to PB2017 from PB12.6.  We are having issues with pbnismtp.  I created a new library and imported the pbnismtp126.pbx file and compiled a pbd.  I added the new pbd and the pbx file to the working directory of the application.  Works in IDE, not in EXE.  We also added the crucial PB17 dlls to the start folder along with the libeay32.dll and the ​ssleay32.dll

It worked great in PB12.6, we're probably missing a dll or two for PB17, any ideas?

 

Thanks

Dennis

 

 

Accepted Answer
Roland Smith Accepted Answer Pending Moderation
  1. Friday, 4 August 2017 14:31 PM UTC
  2. PowerBuilder
  3. # Permalink

Unless you are using a really old version, it doesn't use openssl so you won't need those dll files.

Comment
There are no comments made yet.
Dennis Little Accepted Answer Pending Moderation
  1. Wednesday, 16 August 2017 14:12 PM UTC
  2. PowerBuilder
  3. # 1

The fresh migration with the 12.6 pbx didn't work.  I'm at a loss here.

Bruce, are you out there?

 

Thanks

Dennis

Comment
There are no comments made yet.
Dennis Little Accepted Answer Pending Moderation
  1. Thursday, 10 August 2017 13:32 PM UTC
  2. PowerBuilder
  3. # 2

Thanks for all the help Roland, but that didn't work either.

 

Thanks Dennis

 

Comment
There are no comments made yet.
Dennis Little Accepted Answer Pending Moderation
  1. Wednesday, 9 August 2017 19:11 PM UTC
  2. PowerBuilder
  3. # 3

Thanks Roland.  I'll give that a try tomorrow.  I'm currently trying a fresh migration with the 12.6 pbx.

 

Dennis

Comment
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Wednesday, 9 August 2017 01:29 AM UTC
  2. PowerBuilder
  3. # 4

You can download my version of PBNISMTP from here:

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

The zip file has a PB 10.5 version of Bruce's sample app and 32bit/64bit versions of the pbx file.

I'll eventually upload the C++ source code to Github.

 

Comment
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Tuesday, 8 August 2017 18:56 PM UTC
  2. PowerBuilder
  3. # 5

When I get home tonight I will post my copy somewhere you can download it. I will post again here with a link.

Comment
There are no comments made yet.
Dennis Little Accepted Answer Pending Moderation
  1. Tuesday, 8 August 2017 16:53 PM UTC
  2. PowerBuilder
  3. # 6

OK, I ran pbnismtp126.pbx through Dependency Walker.  I got the same results as when I run it from the 12.6 folder.  I'm assuming that it checks for dll dependency from the selected folder.

 

Anyway, I'm out of ideas. Help!

Dennis

Comment
There are no comments made yet.
Dennis Little Accepted Answer Pending Moderation
  1. Monday, 7 August 2017 19:03 PM UTC
  2. PowerBuilder
  3. # 7

Guys, I thought I'd add an answer, sometimes the comments get lost in the shuffle.

We get a bad runtime reference error when it gets to this line: l_smtp.SetRecipientEmail(ls_ToMail)

I am running the EXE on a different machine-it mimics the PRODUCTION runtime environment.

I just added the libeay32 and ssleay32 dlls because I saw an earlier post.  We never included them for the previous PB12.6 implementation.

We are creating the exe using the 32-bit platform.  I'll try to generate it using the 64-bit platform and see what happens.

I tried to compile using the 64-bit platform, I get a Not a valid Win32 application. error.  I'm using the old pbnismtp126.pbx, so I assume that it is 32-bit.

Thanks Dennis

Comment
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Saturday, 5 August 2017 17:06 PM UTC
  2. PowerBuilder
  3. # 8

Are you deploying your application 64bit?

I downloaded the C++ source code and compiled it to 32bit and 64bit. I got the same error when I accidentally tried running a 32bit app using the 64bit pbx file.

I can get you the 64bit pbx if you want.

 

Comment
  1. Dennis Little
  2. Monday, 7 August 2017 15:36 PM UTC
We are creating the exe using the 32-bit platform.  I'll try to generate it using the 64-bit platform and see what happens.



BTW-How do I know if the pbx is 32 or 64 bit?

  1. Helpful
  1. Dennis Little
  2. Monday, 7 August 2017 16:14 PM UTC
I tried to compile using the 64-bit platform, I get a Not a valid Win32 application. error.  I'm using the old pbnismtp126.pbx, so I assume that it is 32-bit.

  1. Helpful
  1. Roland Smith
  2. Tuesday, 8 August 2017 13:44 PM UTC
You can't really. I was guessing that you were trying to run your app as 64bit with the 32bit pbx.



I downloaded the latest PBNISMTP C++ source code from Bruce's github. I updated the open source SMTP code to the latest version and compiled it to 32bit and 64bit. It seems to work fine. I had a similar error to yours which turned out to be running a 32bit app with the 64bit pbx.

  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Saturday, 5 August 2017 02:18 AM UTC
  2. PowerBuilder
  3. # 9
Hi Dennis; Since pbnismtp is a 3rd party object, you should contact the author about this issue. https://pbnismtp.codeplex.com Regards ... Chris
Comment
  1. Dennis Little
  2. Monday, 7 August 2017 16:17 PM UTC
Thanks Chris,



The codeplex site is shutting down.  I thought I saw somewhere that Bruce recommended users to post to this site.



Dennis

  1. Helpful
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Friday, 4 August 2017 14:07 PM UTC
  2. PowerBuilder
  3. # 10

What do you mean by "Does not work"?

Are you running the EXE on the same machine as the IDE?

 

Comment
  1. Dennis Little
  2. Friday, 4 August 2017 15:42 PM UTC
Sorry, I thought I included the error message.  We get a bad runtime reference error when it gets to this line: l_smtp.SetRecipientEmail(ls_ToMail)



I am running the EXE on a different machine-it mimics the PRODUCTION runtime environment.



I just added the libeay32 and ssleay32 dlls because I saw an earlier post.  We never included them for the previous PB12.6 implementation.



 



I will give the runtime packager a try-we've never used it before.



Thanks



Dennis

  1. Helpful
There are no comments made yet.
Ashutosh Varshney Accepted Answer Pending Moderation
  1. Friday, 4 August 2017 13:48 PM UTC
  2. PowerBuilder
  3. # 11

Try PB Runtime Packager. It should grab all necessary dlls and then you can compare which ones you are missing.

Comment
  1. Dennis Little
  2. Friday, 4 August 2017 19:20 PM UTC
The runtime packager installed a bunch of different dlls.  Works pretty slick, but didn't fix my problem.  Any other thoughts?

  1. Helpful
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.