XIncludeFile limitations or ...
Posted: Fri Oct 27, 2006 7:15 pm
I have some code split up in several files. The structure of each file looks like the example.
Each file includes all other files using "XIncludeFile" except itsself.
The code is not split in a tree-structure but split into parts that group the code together that belongs together like the code for the GUI, linked list, common procedures, globals, constants, etc.
There is one main.pb which "XIncludesFile" a.pb ... z.pb.
None of the procedures in main.pb is called from a.pb ... z.pb.
After adding some code to n.pb the compiler suddenly reports a bug because some procedure "d_n() is not a function, array, macro or linked list" but that procedure was never a problem before.
I also have problems with one file with 2 simple #constants that sometimes have to be included as "IncludeFile" and the next compile time as "XIncludeFile" before all compiles error free.
Is there some kind of limitation with XIncludeFile or is it a compiler bug or a not so obvious code bug ?
Each file includes all other files using "XIncludeFile" except itsself.
The code is not split in a tree-structure but split into parts that group the code together that belongs together like the code for the GUI, linked list, common procedures, globals, constants, etc.
There is one main.pb which "XIncludesFile" a.pb ... z.pb.
None of the procedures in main.pb is called from a.pb ... z.pb.
After adding some code to n.pb the compiler suddenly reports a bug because some procedure "d_n() is not a function, array, macro or linked list" but that procedure was never a problem before.
I also have problems with one file with 2 simple #constants that sometimes have to be included as "IncludeFile" and the next compile time as "XIncludeFile" before all compiles error free.
Is there some kind of limitation with XIncludeFile or is it a compiler bug or a not so obvious code bug ?
Code: Select all
========================= file main.pb
XIncludeFile a.pb
........
XIncludeFile z.pb
procedure main_1()
b_1()
...
k_n()
endprocedure
....
procedure main_n()
a_1()
...
z_n()
endprocedure
========================= file a.pb
XIncludeFile b.pb
........
XIncludeFile z.pb
procedure a_1()
b_1()
...
k_n()
endprocedure
....
procedure a_n()
a_1()
...
z_n()
endprocedure
========================= file b.pb
XIncludeFile a.pb
XIncludeFile c.pb
........
XIncludeFile z.pb
procedure b_1()
a_1()
...
z_2()
endprocedure
....
procedure b_n()
...
endprocedure
========================= file .....
.....
========================= file z.pb
XIncludeFile a.pb
XIncludeFile b.pb
........
XIncludeFile y.pb
procedure z_1()
a_n()
...
b_2()
endprocedure
....
procedure z_n()
...
endprocedure