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
'command' and 'command$' are PB reserved keywords.
Change 'command' into something else and see if that helps...
Kind regards
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.
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
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
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.
Paul,
I knew you could do it !!! Problem solved.
Thank you,
Robert