Powerbuilder Application Execution Error R0035 (Bonus Inside)
R0035 frequently occurs during DataWindow processing if the buffers are in an unexpected state.
In PowerBuilder, the library list is stored inside the EXE at compile time. If the developer compiled the EXE with absolute paths (e.g., C:\Projects\MyApp\libs\data.pbd), but the application is deployed to D:\Apps\MyApp\libs\data.pbd, the runtime won’t find it.
If you want to avoid runtime PDB lookups entirely, compile all objects into the EXE using a PBR file. This increases EXE size but eliminates R0035. powerbuilder application execution error r0035
Copy the entire application folder from the network to the local C:\temp. Run it from there. If it works, the issue is network latency, permissions, or path length.
Check the application folder or a central runtime folder (e.g., C:\Program Files (x86)\Sybase\Shared\PowerBuilder). The runtime files must be present. R0035 frequently occurs during DataWindow processing if the
Maintain a manifest file (app_versions.txt) that lists MD5 checksums for each PBD. At startup, the loader computes the hash and compares. If mismatch or missing, trigger an auto-update or clear error message.
Since R0035 is a runtime error that crashes the application, you should wrap your external function calls in a TRY-CATCH block to handle the error gracefully and get more info. In PowerBuilder, the library list is stored inside
OLEObject lole_myobj
Integer li_result
lole_myobj = CREATE OLEObject
li_result = lole_myobj.ConnectToNewObject("MyApplication.Control")
IF li_result <> 0 THEN
MessageBox("Error", "Could not create object: " + String(li_result))
RETURN
END IF
TRY
// This is the line causing R0035
lole_myobj.MyFunction("Parameter1")
CATCH (RuntimeObjectError err)
MessageBox("External Object Error", &
"Error calling MyFunction: " + err.getText() + "~r~n" + &
"Error Number: " + String(err.Number))
FINALLY
lole_myobj.DisconnectObject()
DESTROY lole_myobj
END TRY
Wrap your main application with a loader EXE that: