Bug 7045

OLE Object connection 03 September, 2021

Mario Parietti
02 August, 2021
Product: PowerBuilder Category: Other
Version: 2017 Build: 1666
Classification: Issue Publishing: Public
Priority: P3
Status: Closed Reason: RESOLVED
Ken Guo @Appeon 03 September, 2021
#9
Hi Mario, 

Thanks for the update.
I will proceed to close this ticket.

If you have any further question, please open a new ticket.

Regards,
Ken
Mario Parietti 03 September, 2021
#8
(In reply to Ken Guo @Appeon from comment #7)
Hi Mario,

Thanks for your feedback.
Can we close this ticket?

Regards,
Ken
Hi Ken, Of course the ticket can be closed. Regards Mario
Ken Guo @Appeon 03 September, 2021
#7
Hi Mario,

Thanks for your feedback.
Can we close this ticket?

Regards,
Ken
Mario Parietti 02 September, 2021
#6
(In reply to Ken Guo @Appeon from comment #5)
Hi Mario,  

I'm just touching base with you about this ticket.  

Did we provide you with enough information to resolve this issue?
Please let us know if there is something else to support you with.  

Regards,
Ken
Hi Ken, Yes,the help I received was enough to solve my problem. Thank You so much :) Mario
Ken Guo @Appeon 02 September, 2021
#5
Hi Mario,  

I'm just touching base with you about this ticket.  

Did we provide you with enough information to resolve this issue?
Please let us know if there is something else to support you with.  

Regards,
Ken
Ken Guo @Appeon 03 August, 2021
#4
Hi Mario,

Miguel is right. Upgrading to PB 2019 doesn’t help solve this issue.
This issue is because when the PB application is deployed as 64-bit, the OLE, OCX, and DLL it calls must all be 64-bit, otherwise, it fails.

Also, when you run the application in PB IDE, since PB IDE is 32-bit, it will call 32-bit OLE, but when you run the deployed 64-bit EXE, it will call 64-bit OLE.

Please refer to the link below for more details:
https://docs.appeon.com/pb2019r3/application_techniques/ch09s03.html#Deploying_64bit 

Regards,
Ken
Miguel Leeuwe 02 August, 2021
#3
(Sorry for interfering):
You'll have to get a 64 bit version of your OCX: Intercad.SWProtection.Interoperability.SWProtectionCOM
If that is a visual control, you have to use the 32 bit version to be able to show it on a control/window. But the 64 bit has to be installed.
Upgrading to pb 2019 won't fix the problem.
regards
Mario Parietti 02 August, 2021
#2
(In reply to Francisco Martinez @Appeon from comment #1)
Hi Mario,

What is the error you get?
We remind you that support for PowerBuilder 2017 has ended and it's on End
of Life. We recommend you to upgrade to the latest currently available
version PowerBuilder 2019 R3.

I'll transfer this to our main Support/Engineering team for their input, but
still strongly advise you to upgrade.

Regards,
Francisco
Hi Francisco, the error code is: -3 -- Object could not be created As You suggest, next days I will try to update my application to PB 2019 and see if the error will be fixed... Thanks for Your help Mario
Francisco Martinez @Appeon 02 August, 2021
#1
Hi Mario,

What is the error you get?
We remind you that support for PowerBuilder 2017 has ended and it's on End of Life. We recommend you to upgrade to the latest currently available version PowerBuilder 2019 R3.

I'll transfer this to our main Support/Engineering team for their input, but still strongly advise you to upgrade.

Regards,
Francisco
Mario Parietti 02 August, 2021
*Phenomenon: 
I am migrating my application from 32bit platform to 64bit and I have several problems with my OLE Script. The scriot and connectio worked fine in 32bit environment but now an error is sent back to me.
My question is: is OLE still supported in PB 2017 version?
If not, what can I do to make my application work?

I send You my simple script who connects to ole object:

OLEObject oTest
boolean lb_ok, lb_check, lb_check_pwd

//Creating the Instance of the Ole Object
oTest = Create OLEObject

long ll_return_code

//Connecting to the Object 
ll_return_code = oTest.ConnectToNewObject("Intercad.SWProtection.Interoperability.SWProtectionCOM")
If ll_return_code < 0 Then  
        Destroy oTest 
        MessageBox("oTest0", "Can't create oTest COM object") 
        Return false
End If 



*Reproduce Steps:


Remarks:
OS:
Windows 10
Platform:
64-bit
Database Type:
Oracle
Database Version:
12