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.
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.
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
Error R0035 is a runtime execution error in PowerBuilder applications. It typically occurs when the PowerBuilder runtime engine cannot locate or load a required PowerBuilder resource file (PBR) or when there is a mismatch between the compiled application and the runtime environment. powerbuilder application execution error r0035
The full error message usually reads:
PowerBuilder Application Execution Error (R0035) Application terminated. Unable to find required PBR file. In PowerBuilder, the library list is stored inside
or simply:
R0035: Unable to locate the application's resource file. Error R0035 is a runtime execution error in
Run dumpbin /headers pbvmXXX.dll or check file properties to confirm bitness.