Application Execution Error R0035 !exclusive! - Powerbuilder
If you are upgrading an older PowerBuilder application (e.g., from version 8.5 to 10.5+), older OCX controls (like old Crystal Reports RDC) may not work on modern Windows 10/11 environments, as indicated in SAP support cases . You may need to upgrade the third-party control or re-engineer the code to use modern API calls. Summary Checklist for Troubleshooting R0035 Run regsvr32 on all required .ocx and .dll files. Verify 32-bit components are registered via SysWOW64 .
The typically occurs when PowerBuilder tries to communicate with a Windows-level component or an external DLL and the interaction fails. The error message may look like this:
Before modifying any code, ensure that your compilation environment is clean. Incremental builds can leave behind ghost references. Open your PowerBuilder IDE. Right-click on your Target and select . Reopen the Target. powerbuilder application execution error r0035
To gather detailed diagnostics, you can record OLE calls to a log file.
A 32-bit application attempting to call a 64-bit component, or vice versa, often leads to execution failures . Troubleshooting & Fixes If you are upgrading an older PowerBuilder application (e
Ensure the following files are present in the application directory:
A prime example comes from the PowerBuilder community, where a user was trying to call a C++ DLL function with the signature void GetDecryptedFile(unsigned char** ppbFileContents) . Their PowerScript code ioo_my_ole_object.GetDecryptedFile(ref ls_content) would crash with an R0035 error. The issue was a pointer-to-pointer parameter that PowerBuilder does not handle directly. The community's recommended solution was to pre-initialize the string variable to a specific length using ls_content = Space(x) to allocate the necessary memory before the call, which can resolve the mismatch. Verify 32-bit components are registered via SysWOW64
: The function name is misspelled, case-mismatched, or the parameters provided do not match what the external object expects. Object State Issues
: The specific function you are trying to call might not exist in the version of the OLE object currently installed, or the external server (like Excel or Word) may have crashed or "died" during the call.
Review the code executed immediately before the crash. Wrap your object references in standard validation checks to ensure they exist in memory. powerbuilder
TRY // This is the line causing R0035 lole_myobj.MyFunction("Parameter1")
