1. Dennis Little
  2. PowerBuilder
  3. Friday, 04 August 2017

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
0
Votes
Undo

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.
  1. Friday, 4 August 2017
  2. PowerBuilder
  3. # Permalink
Dennis Little Accepted Answer Pending Moderation
0
Votes
Undo

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.
  1. Wednesday, 16 August 2017
  2. PowerBuilder
  3. # 1
Dennis Little Accepted Answer Pending Moderation
0
Votes
Undo

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

 

Thanks Dennis

 

Comment
There are no comments made yet.
  1. Thursday, 10 August 2017
  2. PowerBuilder
  3. # 2
Dennis Little Accepted Answer Pending Moderation
0
Votes
Undo

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.
  1. Wednesday, 9 August 2017
  2. PowerBuilder
  3. # 3
Roland Smith Accepted Answer Pending Moderation
0
Votes
Undo

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.
  1. Wednesday, 9 August 2017
  2. PowerBuilder
  3. # 4
Roland Smith Accepted Answer Pending Moderation
0
Votes
Undo

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.
  1. Tuesday, 8 August 2017
  2. PowerBuilder
  3. # 5
Dennis Little Accepted Answer Pending Moderation
0
Votes
Undo

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.
  1. Tuesday, 8 August 2017
  2. PowerBuilder
  3. # 6
Dennis Little Accepted Answer Pending Moderation
0
Votes
Undo

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.
  1. Monday, 7 August 2017
  2. PowerBuilder
  3. # 7
Roland Smith Accepted Answer Pending Moderation
0
Votes
Undo

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
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. Dennis Little
  2. Monday, 7 August 2017
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. Dennis Little
  2. Monday, 7 August 2017
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. Roland Smith
  2. Tuesday, 8 August 2017
There are no comments made yet.
  1. Saturday, 5 August 2017
  2. PowerBuilder
  3. # 8
Chris Pollach Accepted Answer Pending Moderation
0
Votes
Undo
Hi Dennis; Since pbnismtp is a 3rd party object, you should contact the author about this issue. https://pbnismtp.codeplex.com Regards ... Chris
Comment
Thanks Chris,



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



Dennis

  1. Dennis Little
  2. Monday, 7 August 2017
There are no comments made yet.
  1. Saturday, 5 August 2017
  2. PowerBuilder
  3. # 9
Roland Smith Accepted Answer Pending Moderation
0
Votes
Undo

What do you mean by "Does not work"?

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

 

Comment
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. Dennis Little
  2. Friday, 4 August 2017
There are no comments made yet.
  1. Friday, 4 August 2017
  2. PowerBuilder
  3. # 10
Ashutosh Varshney Accepted Answer Pending Moderation
0
Votes
Undo

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

Comment
The runtime packager installed a bunch of different dlls.  Works pretty slick, but didn't fix my problem.  Any other thoughts?

  1. Dennis Little
  2. Friday, 4 August 2017
There are no comments made yet.
  1. Friday, 4 August 2017
  2. PowerBuilder
  3. # 11
  • Page :
  • 1


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