[Gambas-user] Issue 123 in gambas: GUI dependencies in library projects not exposing any gui dependency
gambas at ...2524...
gambas at ...2524...
Tue Oct 4 03:30:22 CEST 2011
Status: New
Owner: ----
Labels: Version Type-Bug Priority-Medium OpSys-Any Dist-Any Arch-Any
Desktop-Any GUI-Any
New issue 123 by adamn... at ...626...: GUI dependencies in library projects
not exposing any gui dependency
http://code.google.com/p/gambas/issues/detail?id=123
1) Describe the problem.
The GUI library that was used when developing and testing a library project
is carried over into the library executable even if no exported part of the
library uses any gui elements.
So if a library developer uses say gb.gtk instead of gb.gui in
a "non-exposed" form to test the library, the dependency on gb.gtk is
carried over into the library executable. This is contrary to what the
help says:
-----------
The components that you select in the "Components" tab of the property
dialog have nothing to do with the components you specify in the "Requires"
tab.
They are only used when you run the component project from the IDE for
debugging purpose.
-----------
2) GIVE THE FOLLOWING INFORMATIONS (if they are appropriate):
Version: TRUNK
Revision: r4163
Operating system: Linux
Distribution: mine
Architecture: x86
GUI component: QT4 / GTK+ and gb.GUI
Desktop used: LXDE
3) Provide a little project that reproduces the bug or the crash.
I have attached an archive containing a demo project and three libraries.
Thee only difference between each of the libraries is the gui component
that the test form uses.
4) If your project needs a database, try to provide it, or part of it.
N/A
5) Explain clearly how to reproduce the bug or the crash.
(This is a bit involved, if the fault is evident the process does not need
to be followed to completion).
a) Unpack each of the projects contained in the attached archive.
b) Make executable on each of the *lib projects
c) in the debug_qtvsgtk project
1 check it is using guilib.gambas as the library and it is using the
gb.gui component
2 run it, it should show the "Hello World" form.
3 change the environment and add GB_GUI=gb.gtk and re-run ==> works
4 change the environment to GB_GUI=gb.qt4 and re-run ==> works
5 remove the GB_GUI from the environment
6 remove the guilib library and add the gtklib library
7 re-run ==> works
8 add GB_GUI=gb.gtk to the environment and re-run ==> works
9 change to GB_GUI=gb.qt4 and re-run ==> FAILS - displays a message
about >Desktop.Charset being incorrectly overridden
10 remove the GB_GUI from the environment
11 remove the gtklib library and add the qtlib library
12 re-run ==> FAILS - I cannot catch the message
13 add GB_GUI=gb.qt4 to the environment and re-run ==> works
14 change to GB_GUI=gb.gtk and re-run ==> FAILS - again I cannot catch
the message.
There is a similar effect with a different symptom if the debug_qtvsgtk
project is set to use a specific gui component, e.g. gb.qt4 and the library
is "mismatched".
Remember, the issue is that nothing exposed by the libraries uses any gui
element, it's all in the test form used by the library developer.
cheers
Bruce
Attachments:
guilibs.tar.gz 24.5 KB
More information about the User
mailing list