Markus Gerwinski wrote:
Hello Folks!
Got the following bug today:
type ... tPruzzel = object Procedure amazooka ( proe: pProe ); end (* tPruzzel *);
...
tPruzzel.amazooka ( p: pProe );
begin (* tPruzzel.amazooka *) --> if p = nil then ... end (* tPruzzel.amazooka *);
The "-->" marked line yields a compiler error: "undefined identifier 'p'". To avoid it, the variable _identifier_ in interface and implementation must be the same.
I don't know, if this case intentionally yields an error; anyway, I think it should be a "header does not match", not an "undefined identifier". The latter one's confusing.
That's a known bug, AFAIK. When "repeating" a forward etc. declaration, GPC ignores the parameter names and takes the names from the first declaration (here: proe). This has confused me more than once, too. Frank -- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/ GPC To-Do list, latest features, fixed bugs: http://agnes.dida.physik.uni-essen.de/~gnu-pascal/todo.html