cancel
Showing results for 
Search instead for 
Did you mean: 

OCX control fails after upgrading to PB 12.6 on Windows 10

Former Member
0 Kudos

We have several 32-bit applications that use an OCX control.

We have upgraded from Powerbuilder 11.5 to Powerbuilder 12.6 with the latest EBF.

We are connecting to an Oracle 12c database.

The problem is:

The OCX crashes on the upgraded PB12.6 when being ran on Windows 10.

The application that is still using PB 11.5 will run correctly on Windows 10.

All other OS work fine with the upgraded PB 12.6 applications.

Any known issues?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

There was some ActiveX issues with first PB 12.6 builds.
Did you install the latest PB 12.6 EBF build 4098.

Regards.

Abdallah.

Former Member
0 Kudos

Hi Chris;

Can you tell us ...

1) The error message(s) you are getting?

2) What does the failing OCX actually do?

3) Have you coded the various error events on the OCX control(s)?

4) Is there a TRY..CATCH block around the failing code to get more information on the exact failure?

5) Does this happen on all PC's?

6) Does this fail from running from the IDE as well as an EXE?

7) For the EXE is that P-Code or M-Code?

Regards ... Chris

Former Member
0 Kudos

The EXE is P-Code

The IDE is not Windows 10, it is Windows 7.  The EXE works on everything except Windows 10.  The PB 11.5 version works on everything, including Windows 10.

It fails on multiple Windows 10 environments.

The OCX is a Calendar control and it is failing when it displays.

It is getting the system date and setting the month/day/year.  Not sure when the failure is occurring.  I will have to get back with you on the details of what the code is actually doing at this point.

It was just strange to me that Windows 10 and Powerbuilder 12.6 together causes the problem. 

Windows 10 and a different version work find.

Powerbuilder 12.6 and anything other than Windows 10 work fine.

Former Member
0 Kudos

BTW: I assume the latest PB 12.6 release you are using is build 4098?

Former Member
0 Kudos

Yes.  I have the latest build 4098.

Here is what I have found out.

Powerbuilder 11.5 works fine with every OS.

Powerbuilder 12.6 works fine with every OS except Windows 10.

The failure occurs when the code calls any event or method of the OCX file.  No matter what it is, it crashes.  I have tested with the OCX registered and unregistered.  It behaves the same either way, exactly.  Not sure if it cannot find the OCX or what.

Any ideas?

Former Member
0 Kudos

FWIW: Sounds like you should open a case with SAP Technical Support for PowerBuilder - especially, if you provide a simple OCX test case.

Are you compiling the PB 12.6 application EXE on W7 or W10?

Former Member
0 Kudos

I am compiling on W7.

I have had zero luck opening cases with SAP support.  The last problem I had, which I am still working thru, I got no help and no answers to questions asked.

But, here is the latest on this issue.

There is an updated version of the OCX file that is Windows 10 compliant.  I got that file downloaded, but the problem was still there.

I read thru the documentation about deployment again.

After reading, the bold text below made me try and have the tester put the OCX file in the system directory and then register it from there.

That works!

If it is registered anywhere else, it fails.

Deploying ActiveX controls

If your application uses ActiveX controls, OLE controls, or OCX controls, you must:

  • Deploy the control files with your application
  • Make sure each control is registered
  • Make sure required files are in the target computer’s system directory
Former Member
0 Kudos

Excellent news Chris!  

I was going to suggest compiling the OCX with PB 12.6 on W10 and deploying the application EXE backwards an O/S release or two from there. However, the OCX registration seems to be the issue with v12.6.

Former Member
0 Kudos

Scratch that solution.  It seems the tester is now getting failures every time with the OCX.

The OCX is a 3rd party control, but has W10 compatibility.

I do have a question.

Our application was using an earlier version of this OCX file.  After this failure, we bought the updated version for W10 compatibility.

All the methods and such are the same as before, so no need to change any code.

Should I be able to keep my application as is and just register this version of the OCX file?

Or, do I have to go to each Data Window that uses this control and remove the old one and then add the new control thru the menu and resize and move it around to where the other one was located?

Former Member
0 Kudos

Hi Chris;

  You should (AFAIK) be able to re-register the newer W10 version of the control.

I would recommend uninstalling the older OCX first and cleaning up the Registry (if necessary) first before introducing the updated OCX. Maybe I'm just being a bit paranoid here - but, I always like to "play it safe" where I can.

HTH

Regards ... Chris

Former Member
0 Kudos

The issue I am having is not that the OCX object is not registered, it is strictly related to Powerbuilder 12.6.  I have an application in Powerbuilder 11.5 ( same one before upgrade ) and it works great with the new OCX.  The issue is Powerbuilder 12.6.

Anybody works with OLE objects in PB 12.6 have problems?

Former Member
0 Kudos

Forgot, fails for W7 and W10.  It just plain does not work with Powerbuilder 12.6

Former Member
0 Kudos

Hmmm .. this sounds like getting the SAP Technical Support staff involved here might be prudent. Opening up a support ticket on this issue might be the only way out of this PB 12.6 OCX crux as previous versions of PB do not seem to have this impediment.