Frank Heckenbach wrote:
... snip ...
To be portable, you cannot use types like `Integer' and `ShortWord' which can have different sizes. You can define your own types to be `Integer attribute (Size = 32)', `Cardinal attribute (Size = 16)' etc. Also you have to do explicit endianness conversions (see `ConvertFromLittleEndian' etc. in gpc.pas).
Let's be clear that you mean "portable over gpc installations". This will not ensure generic portability over any ISO standard. In a way such may be useful, in that any transport to an ISO system should flag errors on those constructs and point out the area to be considered.