[futurebasic] Re: I have an error...

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : March 1998 : Group Archive : Group : All Groups

From: Robert Purves <robert.purves@...>
Date: Wed, 4 Mar 1998 10:06:25 +1300
>1) sorry for my tashable English,
>
>2) in the project.Andy Folder (new project in FBII) my machine say:
>
>String Lenght Error At line #381 (include file)


Nobody seems to have replied usefully to this message.  I confirm that a
String Length error message is given. In my version of FB the project is

'  New Project Shell   Ver 3.01
'  by: Andy Gariepy    Jan 30 1996


and the error occurs at line 379 of the .INCL file. The offending line is:-

 FileNamePtr&.Nil$ = "untitled" + STR$(Wnd-_myFirstDoc+1)

1. This isn't a "real" string length error. In FB preferences, if you set
Check for string/array overflow to OFF, and recompile the whole project, no
problem seems to arise from this line. Therefore it is a bug in the
string-length-checking code. It's certainly not your fault, Alessandro.

2. The easy way around the bug is just to leave the preferences with no
checking for string/array overflow. Bitter experience, however, teaches us
that this is a _bad_ way to develop software. We should all want to have
checking ON.

3. Replacing the offending line as follows fixes that problem:-
 'FileNamePtr&.Nil$ = "untitled" + STR$(Wnd-_myFirstDoc+1)
 DIM 31 temp$
 temp$="untitled" + STR$(Wnd-_myFirstDoc+1)
 BLOCKMOVE @temp$,@FileNamePtr&.Nil$, LEN(temp$)+1

4. Then _another_ string length error needs fixing, in FN myFileSetInfo, at
line 305 of the .INCL file. The offending line is:-

 WindowInfoHndl&..myWindowFileName$ = FileName$

and the fix is:-

  'WindowInfoHndl&..myWindowFileName$ = FileName$
  BLOCKMOVE @FileName$,@WindowInfoHndl&..myWindowFileName$,LEN(FileName$)+1

5. Now we can run the compiled application with or without String/array
checking. Whew!

Unfortunately, there is yet another bug, probably unrelated to the above,
which causes the application to crash when saving or opening an empty
document (on a 7200 with Sys 7.5.3).

Robert