1. Yuri Denshchik
  2. PowerBuilder
  3. Wednesday, 26 April 2017

I tried to find a solution to make 64bit OCX work with 64bit - compiled PB app in PB12.6. 
There is case submitted in SAP : 64bit OCX does not work with a 64bits executable:
https://launchpad.support.sap.com/#/notes/2357943/E

It looks like the case is open. 
Do you know if OCX support for 64bit app will be fixed in 12.6 in one of the maintenance release ?
Is 64bit OCX supported in PowerBuilder 2017?

Thanks,
Yuri

Heino Hellmers Accepted Answer Pending Moderation
0
Votes
Undo

Hi,

we are having the same problems on trying to use 64 bit OCx Controls.

Because, of customer demand we wanted to move the app to a 64 bit app.

 

For more information:

For example we are currently testing  the  OCX Controls from www.exontrol.com.

We are in the process to renew some old controls witch are EOL by their vendors and substitute them with newer controls.

One requirement is for the new controls to have same controls in 32 and 64 bit.

 

In 32 bit everything works fine with the controls.

In 64 bit the controls are not rendered at Runtime. 

You can download trial for the product as 32 and 64 bit com components suite.

 

we tested a little bit more to see what works and what not.

no 64 bit ocx control ( ole custom control) can be used in a  64  it b app.

If you create a 64 bit application with powerbuilder you can see that the 64 bit control exists and would work if Pb would add the correct binary data into her source file ( hidden data for ocx's).

To see this special data just export the source file and not just use show source code in the pb ide!

If you call insertobject() at runtime for the 64 bit application ( on a ole control) you will see the ole dialog with all 64 bit controls! As you se the 32 bit control in the pb ide!

there you can see all the 64 bit controls and go to the third tabpage to insert a ole custom control ( ocx) from the shown list of 64 bit controls installed on the pc.

If we select here the 64 bit control everyting works and the 64 control is rendered correct.

BUT there is no way to do this in Design time.

The PB 32 bit IDE can only work with the 32 bit controls as it is 32 bit!

If you insertobjects at runtime on a 64 bit app it works but this is not a solution because you are not able to write your code in the custom events at design time :-(

Today 64bit  OCX Controls  can not be used with pb and all 32bit pb apps using OCX Control can not be compiled as 64 bit apps. :-(

Appeon should correct this bug asap. 

We had to stop our try to create a 64 bit app because of this Powerbuilder bug!

We didn't find any workaround!

 

Today we have the correct 64 bit controls (ocx) but ar not able to use them in a 64 bit pb app :-(

That is really bad!

It is really simple to check and test this forexamle by using  the exontrol controls.

But you can test this by using any other 64 bit ocx control!

 

Please fix the bug!

Comment
I am able to instantiate the 64 bit calendar control at runtime in a 64 bit application using the InsertClass( string s) method.  The trick is that you have to place an empty control (Insert Control OLE- Create New -- choose the empty line).  Although named the same in PowerScript.  They are internally different



type ole_2 from olecontrol within w_calocx  //---This is the generic

end type

type ole_1 from olecustomcontrol within w_calocx   ///-- this exposes events

end type

 



I inspected our application code.  The positive news is that we only do function calls and property settings.  There are no custom control event scripts. It may be possible to work-around IDE limitations using the dynamic approach

  1. Yakov Werde
  2. Tuesday, 2 May 2017
As mentioned above, it is possible to dynamically load 64 bit OCX controls at runtime, call their functions and set their properties.  What is NOT possible is to write code for dynamically loaded ActiveX control's custom event handlers.  That can only be done at design time in the editor when placing a 32 bit control.  This severely limits using OCX controls. 



When will the IDE allow for a mechanism to insert both 32 and 64 bit OCX controls?



Is there a work around that will allow writing functions that can be called in the place of custom OCX controls events?

  1. Yakov Werde
  2. Friday, 21 July 2017
Hi Purple



Any idea if engineering team already looked at this issue. We also have problems using OCX controls from a 64-bit exe.



Being able to deliver a 64-bit version is becoming quite urgent.



Thx

  1. Gino Verbeke
  2. Tuesday, 3 October 2017
There are no comments made yet.
  1. Friday, 28 April 2017
  2. PowerBuilder
  3. # 1
Purple Li Accepted Answer Pending Moderation
0
Votes
Undo

Hi Yuri,

We confirmed that this issue will still exist in the GA version of PowerBuilder 2017. Could you send us a test case so that we can reproduce the issue and analyze it? You can contact me at purple.li@appeon.com.

​Thanks,

​Purple

 

Comment
two things just discovered.



1) It appears there is NO 64 bit Adobe Reader control  https://forums.adobe.com/thread/1005619  The example in the CR https://launchpad.support.sap.com/#/notes/2357943/E is not a good example. 



2) IE is a hybrid program.  I am not sure if its activeX is 32 or 64 bit.  this may be part of the issue



https://www.quora.com/How-can-I-know-if-my-Internet-Explorer-11-is-32-bit-or-64-bit-without-looking-at-the-file-path-or-shortcut-name



I am running a 64 bit window with 64 bit IE but I still have an IE in my Program Files (x86) folder



Conclusion:



 In order to demonstrate this situation it is important to have a true 64 bit ActiveX control

  1. Yakov Werde
  2. Friday, 28 April 2017
Yakov,



I don't care much about Adobe Reader ActiveX. I need to resolve the issue of viewing and editing HTML content.



For viewing we use MS Web Browser ActiveX. It is partially works in 64bit if it is added using insertclass method to empty ole placeholder in runtime: 

ole_web.InsertClass ("Shell.Explorer")   



The limitation is that HTML content cannot be selected and context menu is not working. 

For editing HTML we used TxText control but there is no corresponding 64bit ActiveX.   

I thought that we could use native PowerBuilder RichTextEditor, but it does not open HTML files in 64bit. 





  1. Yuri Denshchik
  2. Friday, 28 April 2017
Hi Yuri,



We got your test case, reproduced the issue, and fixed it.



Thanks,



Purple

  1. Purple Li
  2. Monday, 8 May 2017
There are no comments made yet.
  1. Friday, 28 April 2017
  2. PowerBuilder
  3. # 2
Yakov Werde Accepted Answer Pending Moderation
0
Votes
Undo

I just tried this in the latest EBF, Build 4138  The issue has not yet been fixed.

Comment
Thank you for reply



Do you know any alternative to OCX, some external visual components that would work on 64bit PB app?



 

  1. Yuri Denshchik
  2. Friday, 28 April 2017
There are no comments made yet.
  1. Thursday, 27 April 2017
  2. PowerBuilder
  3. # 3
  • Page :
  • 1


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