PlanetSquires Forums

Support Forums => Other Software and Code => Topic started by: Robert Rioja on April 03, 2013, 04:56:49 PM

Title: Problem with 3.62
Post by: Robert Rioja on April 03, 2013, 04:56:49 PM
I have a program that compiles completely with FF 3.60, but fails with FF 3.62

Attached is a screen shot of the error message.

The part of code that it compalins abpout is the following:

Type CommandType
   OpCode As Byte
   DataLength As Word
   DataBytes(1 To 2000) As Byte
End Type

Union OutputUnion
   OutputString As Asciiz * 257
   OutputBytes(1 To 3000) As Byte
   Command As CommandType
End Union
Global FT_OutputBuffer As OutputUnion
Title: Re: Problem with 3.62
Post by: Eddy Van Esch on April 03, 2013, 05:27:18 PM
'command' and 'command$' are PB reserved keywords.
Change 'command' into something else and see if that helps...

Kind regards
Title: Re: Problem with 3.62
Post by: José Roca on April 03, 2013, 07:15:47 PM
The only reserved word that can't be used in an structure is END. Probably, FF as rearranged the code and placed the CommandType structure after OutputUnion.
Title: Re: Problem with 3.62
Post by: Robert Rioja on April 04, 2013, 09:52:08 AM
I had already tried changing Command to something else, but it made no difference.  The problem appears only in FF 3.62, not in FF 3.60.  I thought that Jose might be right, so I looked at CODEGEN_4232X10_DECLARES.INC and he was right.  Although I declared everything in the right order (look at the code segment in my original post), FF 3.62 rearranged them backwards.

So this is an official "bug report".

Thank you,
Robert
Title: Re: Problem with 3.62
Post by: Robert Rioja on April 05, 2013, 03:37:26 PM
I have tried other programs and found the same problem.  FF 3.60 compiles with no errors, but FF 3.62 alters the order of declarations so that it cannot compile without errors.  I cannot use 3.62 so I have gone back to 3.60

I hope that Paul can look into this.

Thanks,
Robert
Title: Re: Problem with 3.62
Post by: Paul Squires on April 09, 2013, 11:18:42 AM
Hi Robert,

Please re-install 3.62 and then copy the FireFly36.exe (attached) into your install folder to replace the existing exe. This exe keeps UNIONs and TYPEs together so hopefully it will solve the problem you are encountering. Please let me know if it works okay for you. If it does then I will keep the change in the FireFly source code for the next update.
Title: Re: Problem with 3.62
Post by: Robert Rioja on April 11, 2013, 12:47:39 PM
Paul,

I knew you could do it !!!  Problem solved.

Thank you,
Robert