1. radha rani
  2. PowerBuilder
  3. Thursday, 12 April 2018 16:46 PM UTC

Hi,

 

When runing an application i am facing a sytem error number 36 (Name not found accessing external object.

How to fix this??

Michael Kramer Accepted Answer Pending Moderation
  1. Thursday, 12 April 2018 17:09 PM UTC
  2. PowerBuilder
  3. # 1

Hi Radha,

The error message usually identifies the where the error occurs. EX:

My error message Divide by zero at line 5 in clicked event of object cb_2 of w_my_calculator_more.
Line 5 in Clicked event result = a / b
My fix: if b = 0 then
   SetNull(result)
else
​   result = a / b
​end if

Actual fix depends on context. For runtime error 36 I would look for potentially misspelled property name or reference to a non-existent object.

HTH /Michael

Comment
  1. Michael Kramer
  2. Thursday, 12 April 2018 17:34 PM UTC
Hi Radha, add-on to my initial answer.

​If you see runtime error 36 when using .object notation into a DataWindow, well - then try alternate style.









.object notation

Alternate code









// Access data in a (row/column)

ls_name = ​dw_1.object.dept_name[row]

ls_name = dw_1.GetItemString(row, "dept_name")

​// You may get "error 6: Invalid DW row/column" 





​// Access data in numbered (row/column)

ldec_salary = ​dw_1.object.data[10,20]

ldec_salary = dw_1.GetItemDecimal(10, 20)

​// You may get "error 6: Invalid DW row/column"





// Change property

dw_1.object.salary.BorderType = ...

string ls_status

ls_status = ​Modify("salary.BorderType = ...")

​if ls_status > "" then

   ​// ls_status holds error message

end if   





// Read property

ll_borderType = dw_1.object.Salary.BorderType

string ls_border

​ls_border = dw_1.Describe("Salary.BorderType")

​if ls_border = "!" then

   // Error in your "describe"

else

​  ll_borderType = long(ls_border)

​end if









 

  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.