Skip to content

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: