If you write a program, you will have one or more *form files, one or more *class files and a .project file.
A *form file is a description of your gui.
A *class file contains the code you have written.
The .project file contains some information about your project like "name" "version" ...
Those files will be compiled by the compiler "gbc" to a binary "pcode".
The pcode is stored in a directory ".gambas".
Then, the interpreter "gbx" interprets the pcode and takes the needed qt-components-binaries to let the program run.
The qt-components are part of gambas. A qt-component is a c++/qt program which receives the gui description from the pcode and produces the qt-gui.
If you want to have gtk-components, you just have to write them ;-)
"gba" is an archiever. He takes the .project information and combines them with the pcode to an so called "executable file". To let it roll, you take gbx.
Project -- "compile (F7)" starts gbc.
Project -- "run (F5)" starts gbc and gbx.
Project -- "make executable (Ctrl-Alt-M)" starts gbc and gba
-- JochenGeorges - 28 Dec 2004