[Gambas-devel] gb.api new version and documentation
Daniel Campos
daniel.campos at ...103...
Wed May 11 14:26:04 CEST 2005
Hi:
I've updated the gb.api component, examples and documentation:
1) The "ApiPointer" class exists no more. Instead pointers are managed
with the "Integer" or "Pointer" data type, so it wastes less memory per
each pointer defined. However, a static class called "Pointer" provides
functions to manage memory easily. I think it is much more clear and
intuitive that
using the READ and WRITE functions. Now the memory allocations and
freeings can be made using the Alloc and Free methods from Gambas.
The "Pointer" class still provides the "AllocString" method to help in
string
allocations.
2) I've updated the documentation, adding the Structure and Callback
management.
It is updated in English and Spanish, but I'd need help from the French
and German
translations to update these versions (and of course, to be part of my
little "Hall of Fame" :-))
Please be careful when translating, as the "Pointer" part as changed a
lot and there are
little changes everywhere.
3) I think Gambas could keep into its core the "Pointer" alias, the
"Free", "Alloc" and "Realloc"
methods, and let the rest of the code in a component:
(a) All this code is needed just for very specific applications
(b) Having the declarations in a component, declarations can be
deleted from memory if not needed, saving memory.
(c)I think is better also to use the "Api" class and the unknown method,
as, for example, a line of code like this:
"Api.gtk_init(NULL,NULL)"
is more coherent with an object oriented language than simply a
"misterious" new method
in Gambas:
"gtk_init(NULL,NULL)"
The first one represents an object and a function related with the API,
the second one makes difficult to a programmer to know where this new
"Gambas function" comes from when reading code written by other people.
(d) and "psicologically", having it in a component probably will prevent
to use that feature for everything without stopping to think a little if
all can be done without having to use external libraries.
4) All the new stuff is placed at: http://gambas.gnulinex.org/api
Regards,
D. Campos
More information about the Devel
mailing list