PBDR.COM

About   -   Contact   -   Purchase   -   Search   -   What's New

 
 
Registering OCX Components in an EXE
Having problems with OCX's which work fine in development and EXE on your machine but when you ship the EXE to a users machine and install your program the OCX does not work?

The problem is that the way OCX's are designed to work is that every OCX should attempt on its own to register with the system during its constructor event. This is done by the container calling a function that is in EVERY OCX called DLLRegisterServer.

The problem is that PowerBuilder does not call this function. Even if you run the REGSRV utility, the OCX will fail to register itself. To correct this problem, in object where you are using the OCX you need to goto the constructor event and call the OCX DLLRegesterServer function.

Declare a local external function in the container object
Function long DllRegisterServer() Library "ocxname.OCX"
In the constructor event

LONG ll_RC
ll_RC = DllRegisterServer()
 

Top of Page

Legal Notice

Ken Howe 2011