packed records' address again

Francesco Bonomi f.bonomi at silab.it
Thu Feb 5 18:37:36 CET 2004


Der friends,

all the comments about possible workarounds to the bug are indeed valid, 
but I cannot use them because I have to port a large existing application 
to gpc while keeping binary compatability with existing files.

This would allow me to have a smoother transition from the current program 
(Oregon Pascal under SCO) to the new program (gpc under Linux). I mean, I 
can keep the working program running while I port small parts at a time to 
implement new features up to when I will finish and I will be able to 
abandon the old program.

As I said in my second message, the structure I am working with is quite 
complex and I am afraid to break it :-)

For the moment, the solution I think I will have to follow is to change all 
the instructions like I said in my second message: As I can assign to the 
whole record but not to its components, I will copy the whole record to a 
temporary variable, assign the value to its component and then put all the 
recors back to its place.

  DATA.IDX[H1].KEY:= <array of char>;

becomes

   TMP:=DATA.IDX[H1];
   TMP.KEY:=<array of char>;
   DATA.IDX[H1]:=TMP;


Very boring and rather un-elegant but it's acceptable for the compiler :-)

Ciao, thanks to all
Francesco Bonomi



Si.lab s.r.l.
Via Citille 13
50022  Greve in Chianti FI- Italy

Tel +39 - 055 8544805
Fax +39 - 055 8547418

http//:www.silab.it




More information about the Gpc mailing list