On 18 Mar 2006, at 16:46, Vincent Snijders wrote:
The gtk2int.pas file of lazarus doesn't compile with fpc 2.1.1
(revision 2954) anymore.
The error message is:
gtk2int.pas(268,67) Error: Wrong type "TObject" in array constructor
Line 268 looks like this:
gtk_list_store_set(FGtkListStore, @ListItem, [FColumnIndex+1,
AnObject, -1]);
The declaration of gtk_list_store_set:
procedure gtk_list_store_set(list_store:PGtkListStore;
iter:PGtkTreeIter); varargs; cdecl; external gtklib;
I saw in the logs that there were some changes with varargs. Is
this a bug in the current compiler or should the lazarus code be
fixed?
I don't know, to be honest. C doesn't know objects, so you can't
compare with that. C++ doesn't know Delphi-style objects either, its
object model is more like TP's. And a pointer to a C++ or TP object
is obviously just a pointer like any other, and you can pass pointers
to varargs. It is trivial to add support for Delphi-style objects
again (since converting those to a pointer is no problem).
Jonas
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel