Thanks for your time and effort.
>you could have instead
>
>objectName = ".lblBoard"+TRANSFORM(iBoard)
>if type(m.objectName) == 'O'
> .removeObject(m.objectName)
>else
> exit
>endif
>
>
>
>>What is the sequence in which error handling is processed? In my particular instance, I'm trying to remove from a page in a pageframe all labels of a certain name. I'm doing this in the valid of a textbox on the main form. My code is
>>WITH thisform.pframe
>> .
>> some code
>> .
>> WITH .pgPassFail
>> ** Remove the "Board Number" objects from the pass/fail page
>> iBoard = 0
>> DO WHILE .T.
>> iBoard = iBoard + 1
>> TRY
>> .RemoveObject(".lblBoard"+TRANSFORM(iBoard))
>> CATCH
>> EXIT
>> ENDTRY
>> ENDDO
>> ENDWITH
>> .
>> more code
>> .
>>ENDWITH
>>
>>I know there are other (probably better) ways of doing this. I'm not looking for help on that as I'm (pretty sure I can work that out on my own. But........
>>
>>when the object doesn't exist, I would have expected the TRY/CATCH block to kick in and execute the code in the CATCH section. Instead, the form ERROR method is invoked
>>
>>So. Assuming that all of the following exist
>>
>>1. ON ERROR
>>2. Form Error Method Code
>>3.. Control Error Method Code
>>4. TRY/CATCH code
>>
>>What is the sequence in which the error checking takes place?
>>
>>Thanks...........Rich