Thanks Razzak for your swift response.

However, there are _no_ while loops in the app. All it does is gather some
info from one database and create a temp table with that data in the driving
database for use in a form for display purposes. The form does not get
updated as it has a number of buttons which run other apps. It has only
started crashing since adding the temp table with the displayed data to the
form.

I thought that it might be the latest beta version so I reverted to patch 2
but that made no difference - as expected, really. I have also checked that
all the variables are pre-defined, not deleted, nor data type changed before
the form is run with edit using.

I have found something that seems to make a difference in that I get crashes
only 50% of the time now. Running the app immediately after booting now
seems to work but second or subsequent attempts cause a crash. Those
subsequent attempts seem to fail because RBG65 is still running according to
Windows after a crash. I suspect that the HIDE command is a problem here
because the crash happens before the SHOW command is reached. However,
removing the HIDE & SHOW commands does not stop the crashing. As far as I
can see the EXIT command is run properly but maybe the form does not close
correctly. I'm clutching at straws here.

What I have changed is this:

CREATE TEMP TABLE ToDo (Things TEXT (60), EntryDate DATETIME)

to:

CREATE TEMP TABLE `ToDo` +
 (`Things` TEXT (60),    +
  `EntryDate` DATETIME )

ie: added the IDQuotes around the table and column names.
If this is a syntax error then trace does not seem to pick it up, nor does
it appear to matter from the R:> when creating the table "manually". It
might be part of the problem when creating the table via the app.

What I might be able to do is to reconfigure the form to use only the temp
table or use the temp table as the driving table and see if that makes any
difference but that seems to be avoiding the problem rather than resolving
it - even if it were to work...

Any further suggestions gratefully accepted,
Regards,
Alastair.


----- Original Message -----
From: "A. Razzak Memon" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, June 05, 2002 1:14 AM
Subject: Re: Persistant System Crashes but TRACE reports no errors -
Razzak's Reply


>
> At 12:19 AM 6/5/2002 +0100, Alastair Burr wrote:
>
> >Can anyone tell me how it is possible to run an application through TRACE
> >and consistently have no errors and yet R:Base crashes EVERY time I start
> >the app via an icon?
>
>
> Alastair,
>
> Looks like the WHILE loop optimization issue!
>
> SET WHILEOPT OFF at the mighty R> prompt and try it again. If it runs
> then you know there is a problem with an optimized command and the
> problem is most likely with a variable used in that command.
>
> FYI, TRACE does not use the WHILE loop optimization.
>
> WHILE loops were always considered one of the faster ways to process
> code because R:BASE read the WHILE loop code into memory and parsed
> it before beginning execution. R:BASE did not need to do line-by-line
reading
> and parsing of the code for each iteration of the WHILE loop. As it is
read
> into
> memory the WHILE loop code was parsed in tokens (4-byte segments). But
> R:BASE still needed to figure out what was what -- parse the expressions,
> find variable names and values etc. It was faster than reading and parsing
> line-by-line, but not as fast as it could be.
>
> Tips:
>
> 01. Datatype variables at the beginning of a command file or before the
>      WHILE loop is executed. Don't datatype variables inside the WHILE
>      loop, they won't be optimized.
>
> 02. The variables used in any optimized command can change values as
>      the WHILE loop iterations are executed, but they cannot change data
>      types and cannot be cleared (with the CLEAR VAR command).
>
> 03. The value can be reset to NULL (SET VAR vname = NULL) but not
>      cleared.
>
> 04. If you determine that the problem is with an optimized command, review
>      the rules above, you may be clearing, retyping or not data typing a
> variable.
>
> Well, that should give you pretty good idea.
>
> Very Best Regards,
>
> Razzak.
>
> P.S.  After the Inside R:BASE 7.0 for Windows training session this week,
> I'll post more details at: htp://www.razzak.com/fte
>
>
>
> ================================================
> TO SEE MESSAGE POSTING GUIDELINES:
> Send a plain text email to [EMAIL PROTECTED]
> In the message body, put just two words: INTRO rbase-l
> ================================================
> TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
> In the message body, put just two words: UNSUBSCRIBE rbase-l
> ================================================
> TO SEARCH ARCHIVES:
> http://www.mail-archive.com/rbase-l%40sonetmail.com/

================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/

Reply via email to