TYPE("Expression()") is the best way to do this. Type evaluates whatever expression you feed it and then returns the type value. I use this all the time and it definitely works, but you have to understand that when you call TYPE("SomeFunction()") you are actually executing SomeFunction() just in order to get the type which may or may not be a problem.
In general it's a bad idea to call TYPE() on executing code expressions - all sorts of unpredictable things can happen especially if you don't set up the code execution environment.
A better and safer way to do this is to use a Class and methods - If you do that you can use PEMSTATUS() to figure out whether a method exists.
+++ Rick ---
>>>Hi,
>>>
>>>Is there a method/approach to determine if a user-defined function exists? For example, say the application may or may not have a function MyFunct(). I thought that TYPE() would work but it does not seem to.
>>>Here is how I used TYPE() in this case:
>>>
>>>? TYPE('MyFunct()')
>>>
>>>
>>>But it seem to always return "U". Is there another method?
>>
>>
lbYesFunc = .t.
>>TRY
>> lnResult = MyFunct()
>>CATCH
>> lbYesFunc = .f.
>>ENDTRY
>>
>>IF NOT lbYesFunc
>> MESSAGEBOX([Function don't exists])
>>ENDIF
>
>Thank you. I was hoping that I would not have to run/execute the function to find out if it exists. But if this is the only way, so be it.