Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to check if function exists?
Message
 
 
To
27/05/2021 13:17:16
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01680784
Message ID:
01680794
Views:
36
>>>>Hi,
>>>>
>>>>I have a function GetGlobal(2) in my application that shows the name of the DATA folder. But some code runs before this function is defined. And in this cases, I need to use the default application folder.
>>>
>>>What does you mean by "before this function is defined"? Sounds like a problem that exists only when relying on procedure files. If there's a PRG named GetGlobal() in the project, it's always available.
>>>
>>>Tamar
>>
>>Good point. The procedure GetGlobal() does exist. But the value returned from GetGlobal(2) is .F. when the array which is used to get the value is not yet defined. And once the array is defined, then GetGlobal(2) returns the folder name. So, what I did with the Dragan's suggestion is as follows:
>>
>>if type("GetGlobal(2)") = "C"
>>   *--  Array is define and GetGlobal(2) returns a valid folder name
>>else
>>   *-- Array is not yet define and GetGlobal(2) SHOULD NOT be used
>>endif 
>>
>>
>>Please let me know if the above is not correct.
>
>Aha, just "some other check", like I said in reply to Tamar.

The problem (my problem) was that I was testing this function, GetGlobal(2) so much at the top of the application where the SET PROCEDURE was not yet declared. and the error code was that program GetGlobal.prg didn't exist. I should have checked after than I could do simpler approach.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform