Really? Which fat bloke programmed that. I think that's a bug; it should just return false to say that it is not able to process that variable. Though comparing a file variable to "" or whatever is not a good move, what happens when the variable is a file descriptor?
On Thu, Sep 1, 2016 at 4:14 PM +0800, "Daniel Klein" <[email protected]> wrote: The IOCTL() function is very useful to find out things about a file but if you try to use it on a variable that is not a file variable then the program will drop to the debugger. The jBASE-way to programmatically determine if it is working with a file variable is to use the ON ERROR clause in an OPEN statement, e.g. OPEN filename TO filevar ON ERROR CRT filename : ' is not a file variable' END On Wed, Aug 31, 2016 at 11:39 PM, Jim Idle <[email protected]> wrote: Google emails is fickle some times: http://www.jbase.com/r5/knowledgebase/manuals/3.0/30manpages/man/sup22_IOCTL.htm Jim On Thu, Sep 1, 2016 at 11:39 AM, Jim Idle <[email protected]> wrote: I think that that is still a pretty poor way to code it, but if they have it already, then recoding the logic to do better initialization is probably too much work. However, I seem to remember coming across this in the dim and distant past. What you need is to use the IOCTL function, that will tell you details about the variable if it is a file variable. If it is not a file variable (uninitialized or 0 or "" depending on emulation flavor) then it either tells you that, or it returns false. Easy to use and the documentatin is here: On Thu, Sep 1, 2016 at 9:26 AM, 'Ed Clark' via jBASE <[email protected]> wrote: There is a thread on the mvdbms google group asking about it. I think the original requestor was asking because they are doing a migration and keep stumbling over IF FILEVAR=“” THEN….which worked on the old platform but aborts on the new one if the file is already open. Probably something related to COMMON which is initialized to to an empty string or 0 in some places and unassigned in other. If you’re keeping a file in COMMON to avoid repeated OPENs, you need to check. The universe DESCRINFO distinguishes between database files and sequential files as well as between strings, arrays, and unassigned variables. I guess you could write a generalized logging procedure that could take either a hashed or sequential file as a parameter and write appropriately, or a string or empty variable and return the logged message in that. On Aug 31, 2016, at 6:41 PM, Jim Idle <[email protected]> wrote: I can't think how that would possibly be useful within a reasonably designed program - why do you need it, out of curiosity? The only way I know of is to write a trivial C function to do the same. Jim On Thu, Sep 1, 2016 at 4:35 AM +0800, "'Ed Clark' via jBASE" <[email protected]> wrote: universe has a basic function DESCRINFO that returns the “type” of a variable—it is a simple variable, a file variable, a select list, assigned or unassigned, and so forth. Is there an equivalent in jBase? -- -- IMPORTANT: T24/Globus posts are no longer accepted on this forum. To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en --- You received this message because you are subscribed to the Google Groups "jBASE" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout. -- -- IMPORTANT: T24/Globus posts are no longer accepted on this forum. To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en --- You received this message because you are subscribed to the Google Groups "jBASE" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout. -- -- IMPORTANT: T24/Globus posts are no longer accepted on this forum. To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en --- You received this message because you are subscribed to the Google Groups "jBASE" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout. -- -- IMPORTANT: T24/Globus posts are no longer accepted on this forum. To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en --- You received this message because you are subscribed to the Google Groups "jBASE" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout. -- -- IMPORTANT: T24/Globus posts are no longer accepted on this forum. To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en --- You received this message because you are subscribed to the Google Groups "jBASE" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout. -- -- IMPORTANT: T24/Globus posts are no longer accepted on this forum. To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en --- You received this message because you are subscribed to the Google Groups "jBASE" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
