Marc Santhoff wrote:
Hi, > I' like to know how I should write code for different system. SInce I'm > no Linux user nor have any experience on MacOS I need to know how to > wrap platform dependant code. > > Since I'm still fiddling with reading the serial port I have the idea > that linux and even MacOS may be very similar to my main os FreeBSD. > > I do know Win32 is different, but how similar are the other os'ses? > > Is there any code in the FCL or the like I can study for getting my > ifdefs right? If you really want to create it prepared for current and future platforms, don't do it via IFDEFs first of all. The procedural solution would be to design a logical layer for functionality you need (get permissions for accessing port, open port, set characteristics, read data, write data, close port) in common interface part of a unit created as an include file, possibly create (an)other include file(s) with shared parts of the implementation too and create standalone units for the different platforms you need to support. Alternative solution (slightly more OOP-like and, somewhat easier to implement and providing more flexibility) is to use create a "manager" record for your particular functionality - see e.g. the heap management and thread management routines, plus keyboard, mouse and video management provided in units of the same name. Tomas _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal