According to Jan-Jaap van der Heijden:
- References to an incomplete type are not accepted. [...]
That's a new bug. I will have a look at it.
- Something simular appens in the implementation part:
[...]
TErrorProc = procedure(var S: TStream);
GPC does not (yet;) have BP's "procedural variables". It has *pointers* to procedures instead. The above can be translated to
TErrorProc = ^Procedure ( ????????? TStream );
- ah, sorry! `Var' parameters don't work in this context! Bug!!!
Okay, I will see how difficult it is to implement BP's procedural types ...
- Obviously, `self' is treated different too...
This I don't understand.
All of this with the latest-but-one alpha release, in BP mode with extended syntax.
It should not be necessary to run GPC in BP mode. `--borland-pascal' does not switch ON anything; it only switches OFF the Extended Pascal extensions. And vice versa. I suggest to write all new source for GPC's default mode and to use `--borland-pascal' (or `--extended-pascal' for that matter) just for testing or when worrying about compatibility to Borland (respectively Extended) Pascal.
(*$X+, M Extended Syntax is a different thing because it really switches ON some "dangerous" features of GPC. *)
BTW: of course, what I was trying out, was how much trouble it would be to port TVision to GPC. Seems we have a long way to go....
We will see. (* But anyway I aim to write something *better* ... ;*)
With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. [...]
But there may be some people whose programs rely on flying pigs. I am prepared to implement yet another option `--flying-pigs' for such purposes ...
Greetings,
Peter
Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201] maintainer GNU Pascal [970420] - http://home.pages.de/~gnu-pascal/ [970125]