On Fri, 22 Feb 2013, dhkblas...@zeelandnet.nl wrote:
Hi, I'm porting a piece of software to FPC but I got stuck at a forward struct declaration. The situation is as folows. Header 1 declares: struct TaskHandle__; typedef void (*CallBackProcPtr)(struct TaskHandle__ *task); And Header2 provdes: typedef struct TaskHandle__ { int unused; } *TaskHandle However header 2 already references header 1 because it already contains some other type definitions, so I cannot reference header 2 in header 1 because of a circular dependency. Can FPC do something similar to C and define a forward record?
No. What you can do is merge the headers in a single unit: PTaskHandle__ = ^TTaskHandle__; and define TTaskHandle__ in the same block The CallBackProcPtr only needs a pointer, so you could also simply define a pointer. Michael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal