1. John Davis
  2. PowerBuilder
  3. Thursday, 15 June 2017 20:56 PM UTC

App connected to SQL Server uses 12.6 PFC and PB 12.6 classic and runs in IDE but once deployed it does not and behaves differently. Running in the IDE in the open event of the app gnv_app.pfc_open() fires in n_cst_steps_appmanager. When I deploy the app with all the required PB dll files as it gets to gnv_app.pfc_open() it now fails to go to the pfc_open causing the app break later with login and DB errors. If connected to Sybse the exe works great. I am using SNC for PB 12.6. 

My next step will be running pb debug tracing in IDE and deployed.

If anyone has any ideas or has an idea if this an issue with PFC 12.6 or an issue in PB 12.6 classic that would be helpful.

 

 

Chris Pollach Accepted Answer Pending Moderation
  1. Friday, 16 June 2017 00:49 AM UTC
  2. PowerBuilder
  3. # 1

Hi John;

    Can you tell us ...

1) PB 12.6 build number you are using?

2) What MS-Windows version are you using?

3) Did you download the PFC 12.6 version when you migrated to PB 12.6 ( http://pfc.codeplex.com/SourceControl/latest )?

4) What version of SS DBMS are you using?

5) What version of SS Client are you using?

6) Are you compiling to P-Code or M-Code?

Regards ... Chris

Comment
  1. John Davis
  2. Friday, 16 June 2017 01:07 AM UTC
1) PB 12.6 build number you are using?  -- PB 12.6 Build 4138



2) What MS-Windows version are you using? - Windows 7 Enterprise Service Pack 1



3) Did you download the PFC 12.6 version when you migrated to PB 12.6 ( http://pfc.codeplex.com/SourceControl/latest )? -- Yes, I used PFC 12.6 version from codeplex



4) What version of SS DBMS are you using? -- SQL Server 2008 server for backend



5) What version of SS Client are you using?  -- SQL Server 2016 Management Studio 13.0.16106.4



6) Are you compiling to P-Code or M-Code? -- Pcode







Thanks,



John

  1. Helpful
  1. John Davis
  2. Friday, 16 June 2017 01:18 AM UTC
1) PB 12.6 build number you are using?  -- PB 12.6 Build 4138



2) What MS-Windows version are you using? - Windows 7 Enterprise Service Pack 1



3) Did you download the PFC 12.6 version when you migrated to PB 12.6 ( http://pfc.codeplex.com/SourceControl/latest )? -- Yes, I used PFC 12.6 version from codeplex



4) What version of SS DBMS are you using? -- SQL Server 2008 server for backend



5) What version of SS Client are you using?  -- SQL Server 2016 Management Studio 13.0.16106.4



6) Are you compiling to P-Code or M-Code? -- Pcode







Thanks,



John

  1. Helpful
There are no comments made yet.
John Davis Accepted Answer Pending Moderation
  1. Friday, 16 June 2017 02:02 AM UTC
  2. PowerBuilder
  3. # 2
1) PB 12.6 build number you are using? -- PB 12.6 Build 4138 2) What MS-Windows version are you using? - Windows 7 Enterprise Service Pack 1 3) Did you download the PFC 12.6 version when you migrated to PB 12.6 ( http://pfc.codeplex.com/SourceControl/latest )? -- Yes, I used PFC 12.6 version from codeplex 4) What version of SS DBMS are you using? -- SQL Server 2008 server for backend 5) What version of SS Client are you using? -- SQL Server 2016 Management Studio 13.0.16106.4 6) Are you compiling to P-Code or M-Code? -- Pcode ​ Thanks, John
Comment
There are no comments made yet.
Olan Knight Accepted Answer Pending Moderation
  1. Friday, 16 June 2017 03:34 AM UTC
  2. PowerBuilder
  3. # 3

Every single time I've seen this issue it's been because the compiled PFC PBDs were incompatible with the compiled PBDs of the application.

My solution in the past has been to

1. create a new target in a single folder

2. Move your PBLs and your DLLs and your runtime libraries into that folder.

3. Regenerate everything.

4. Test the code in the IDE.

5. "Deploy" to create the EXE and the new set of PBDs.

6. Run the EXE you just created in the folder in which you just compiled the code.

7. If it works it should work when deployed to a client. If it does NOT work in the client site at that point, it's the linkage - so put everything into a single folder on the client site, thus duplicating the folder in which you compiled the code, and run the EXE.

 

Good Luck,

Olan

Comment
There are no comments made yet.
John Davis Accepted Answer Pending Moderation
  1. Friday, 16 June 2017 20:59 PM UTC
  2. PowerBuilder
  3. # 4

Thanks Olan for you help!

I followed your procedure with a new target in single folder and moving PBL's and DLLs and runtime libraries into that folder. I regenerated everything, it works in the IDE and I can login. I then deployed and ran the exe in my single folder and it is still breaking at the login. So it sounds like it is the linkage problem. 

Do you have any ideas how I can determine what is not compatible?

 

 

Comment
  1. Olan Knight
  2. Monday, 19 June 2017 18:08 PM UTC
Simple fix #1:  Ensure that all of the RUNTIME files you need are in that single client folder on the client machine. If you're lucky, that's the problem.



Simple fix #2:  Ensure that the folder and the EXE have the rights required to run, and that none of the PBDs have a security setting that restricts their processing.



Otherwise ~

The issue is that when running with the IDE, it uses all of the linkages specified in the PATH variable of the platform you are on. This can hide a multitude of sins. That's why to test the app you double-click the EXE you just created, which resides in the same folder as everything else. That makes the code run like it would on a client machine. Please be sure that doing that on your PC worked.



The problem is almost certainly the PFC - it has usually been the culprit when I've seen this issue.



BE SURE that you take the PBLs of the PFC and recompile them in your current version of PB; in that same single folder. Test again by double clicking the EXE in the single folder on the development machine. If it works, then you can take the PBLs of the PFC and load them into the client folder on the client machine and try again. If that's still failing then start moving the PBDs of the app one at a time into the client folder.

Be sure to include the RUNTIME files you need.



To run an app you need three things: 



   1) all of the runtime files required for your app,



   2) all of the application and class PBDs required by your app that have been compiled in a single target, and



   3) the rights to execute the application and WRITE to the drive.



Good Luck,



Olan



 

  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.