In één van de Gambas2.2 installaties ontbraken bij gebruik in de tekstverwerker de nummers van de tekstlijnen.
Aanzetten: Tools / Preferences: Tab "Editor", Options: Show Line Numbers : Yes
In één van de Gambas2.2 installaties ontbraken bij gebruik in de tekstverwerker de nummers van de tekstlijnen.
Aanzetten: Tools / Preferences: Tab "Editor", Options: Show Line Numbers : Yes
Na een hoop veranderingen vraag ik een “RUN” en het programma eindigt met de foutmelding “bad dimension”.
Spijtig genoeg geeft Gambas deze keer niet aan waar de fout zich voordoet. Normaal kom je in de source code op de plaats van de fout te staan na een foutmelding die de fout beschrijft .
Als ik terug op run druk (om het programma voort te zetten), crasht het.
Ik probeer de laatste veranderingen ongedaan te maken, maar het zijn er helaas nogal veel en ik vind daar de fout niet mee.
Je kan dan “breakpoints” zetten in je code om het programma tot daar te laten lopen. Ik probeer met breakpoints in
PUBLIC SUB Form_Open()
van de main form (Forms, FMain) omdat de fout zich voordoet bij het uitvoeren van het programma alvorens ik ergens klik of iets “doe”. In dit geval haalt het niets uit; eender waar ik de breakpoints zet, ik blijf dezelfde foutmelding krijgen.
Je kan dus geen breakpoints zetten in de initialisering van variabelen bovenaan in de Form, voor de eigenlijke instructies beginnen. Je kan wel gemakkelijk een '
zetten vooraan de lijn, om de lijn om te vormen in “commentaar”, waardoor ze dus niet meer wordt gebruikt door het programma. De foutmelding kwam niet meer voor nadat ik een array uitge-comment had: PRIVATE aBookType AS NEW String[0, 0]
. Inderdaad dimensie dus; door de foutmelding beter te lezen had ik het kunnen weten.
Current objects
Een andere mogelijkheid is kijken naar de variabelen na het afbreken van het programma. Onderaan in het tabblad “Current Objects” heb je een lijst met variabelen. Daar stond de foute variabele niet bij, .
Wat dus niet gaat is dimensie nul: PRIVATE aBookType AS NEW String[0, 0]
wat wel gaat: PRIVATE aBookType AS NEW String[1, 1]
2 x Gambas open (twee keer de hele applicatie gestart). In de eerste Gambas heb ik een bestaand project open, waaruit ik enkele dingen wil kopieren naar de andere FMain.form. Gambas, select listbox, copy, schakel over naar andere Gambas, rechtsklik plak: ok Schakel terug naar eerste Gambas. Select lcdNumber, copy, switch to other Gambas, rightclick paste:
Veroorzaakt doordat het nieuwe project als graphic maar niet als QT project was gestart – het is een typische QT-component. Toevoegen: Project, properties, “gb.qt” – incompatible met gb.qui – afgezet |
2 x Gambas open.
In first Gambas I have an existing app to copy from FMain.form. Gambas, select listbox, copy, switch to other Gambas, rightclick paste: ok switch back to first Gambas, select lcdNumber, copy, switch to other Gambas, rightclick paste: Gambas2 Component missing. Caused by missing components in the project. The second, new Gambas environment was started with a new project, with different selection of components: Type graphical application instead of QT graphical application. Solved the problem by adding the components: Project, properties, gb.qt – incompatible with gb.qui – switched off and gb.qt.ext : this contains these LCD numbers. |
Om een beetje universeler te werken kan je die componenten beter vermijden blijkbaar.
Installatie van Gambas huidige versie 2.2.
(geeft met 1.9 apps: “version too old, recompile the project”)
Systeem:
Geïnstalleerd uit distro:
Volgens http://gambas.sourceforge.net/ zijn er openSuse packages: “NO but yes, thanks to Guillermo”
sudo zypper ar ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/10.3 gambasSuse
* Adding repository ‘gambasSuse’
Repository ‘gambasSuse’ successfully added:
Enabled: Yes
Autorefresh: Yes
URL: ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/10.3
zypper -v install gambas2
Dan ging een en ander mis.
* Een tweede keer dit aangevuld:
/var/cache/zypp/raw/gambasSuse: Required file is missing: ./setup/descr/packages
Die is zeker wel aanwezig … (op de server. Maar niet in mijn zypper cache. Er gaat blijkbaar iets mis en er wordt alleen een deel van de files afgehaald naar de cache. Ik haal ze manueel af met
wget -r ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/10.3
En maak een selectie die ik naar de
/var/cache/zypp/raw/gambasSuse
directory kopieer. (als root)
Dan terug installatie commando, en
The following NEW package is going to be installed:
gambas2-2.2.1-2.gbv.suse103.i586 (gambasSuse2)
Overall download size: 8.5 K. After the operation, 0.0 B will be freed.
Continue? [yes/no]: yes
* Installing: gambas2-2.2.1-2.gbv.suse103 [100%]
CommitResult 1 (errors 0, remaining 0, srcremaining 0)
maar helaas geen gambas2 te vinden, en zypper -if gambas2 geeft:
Information for package gambas2:
Repository: gambasSuse2
Name: gambas2
Version: 2.2.1-2.gbv.suse103
Arch: i586
Installed: Yes
Status: up-to-date
Installed Size: 0 B
Summary:
Description:
Installed Size lijkt me wat weinig … dus Yast2 opgestart en daar “gambas” gezocht; er is een hele reeks gambas2 aanwezig, en alleen “gambas2” zelf staat aktief. Ik kies alle andere gambas2 paketten ook en bevestig. Volgende bijkomende paketten duiken op:
libffi42, libsvg, lirc, omniORB, postgresql, postgresql-libs, tv-common, v4l-tools.
Daarna is Gambas2 inderdaad aanwezig in het menu (met icoon):
KMenu/Development/Integrated Environment/Gambas2
Start mooi op, er zitten veel voorbeeldprojecten bij; ik probeer het bijgeleverde voorbeeld van de muziekspeler. Het start op “readonly” en werkt perfect!
* Even nog de eerste keer: Bij het ontbreken van libffi en libffi-devel stel ik vast dat de openSUSE DVD niet alles van de OSS repository bevat. Dus moet je die ook toevoegen aan de installatie-bronnen: protocol, server, directory:
http:// download.opensuse.org/ distribution/10.3/repo/oss/
gambas2-gb-qt-kde-html
geeft probleem van missende:
libXext.so.6
liblCE.so.6
libSM.so.6
libX11.so.6
libqt-mt.so.3
libDCOP.so.4
Ik schakel voorlopig gambas2-gb-qt-kde-html uit *, en kies wel alle andere delen van gambas (uit de online repo), behalve gambas2-gb-vb (visual basic compatibility).
Daarbij worden nog volgende dependencies automatisch toegevoegd:
libsvg, lirc, mysql, omniORB, tv-common, v4l-tools
Yast: installatie ok.
Deze keer komt Gambas ook in het KDE-menu, onder Development
, Integrated Environment
, met een lelijk, onscherp icoon.
Je vindt ander iconen in /usr/share/gambas2/icons/
, het logo piepklein in /usr/share/gambas2/help/tree/img/
, en de grote achtergrond-garnaal in /usr/share/gambas2/help/
, en Gambas2 start van daaruit op als Gambas 2.2
(*) dit blijkt een vergissing te zijn. Veel applicaties** werken niet in Gambas2, met de foutmelding: cannot load component gb.qt.kde: cannot find library file
(andere werken wel, als het drag-n-drop voorbeeld, of het mysql database voorbeeld)
Yast, gambas2, gambas2-gb-qt-kde-html bijgeinstalleerd zonder dependencies-problemen.
Gambas werkt nu goed voor de voorbeelden met
** kate (Automation, Kate browser)
Na drie jaar ontwikkelen is de nieuwe versie van Gambas, 2.0 nu officieel uitgebracht.
Er zijn al vertalingen van in Frans, Japans, Zweeds, Italiaans, Spaans en Catalaans.
Vorige versie 1.0 is nog beschikbaar, maar zal niet meer verder onderhouden worden.
Het origineel Engelstalig artikel bevat meer info en een Engelstalige changelog.
Het programmeren in 2008 kan beginnen…
Installatie van huidige versie op vers-geïnstalleerde openSuse waar geen extra “installatiebronnen” aan werden toegevoegd. Gelukt mits aantal meldingen van onderdelen die voor standaard werk waarschijnlijk niet nodig zijn. De meeste voorbeelden werken, gambasgears (opengl), en sound (gb.sdl.sound) niet, database nog uit te proberen. Volledig log hieronder:
Open Suse 10.3 met alle updates tot 24/12/07
Standaard om van source te kunnen compileren:
* autoconf
* automake
* gcc
* gcc-c++
* make
Dan voor de gebruikte omgeving (geen GTK maar QT):
# qt3
# qt3-devel
qt3-static vind ik niet in Yast
gtk: voorlopig niet
pdf library:
# poppler
# poppler-devel
perl compatible regular expressions:
# pcre
kde + include files and libraries needed to develop applications
# kdelibs3
# kdelibs3-devel
Lightweight Directory Access Protocol:
# openldap2-client
# openldap2-devel
get documents and files from or send documents to a server with several protocols
# curl
# curl-devel
Database alleen de mysql:
# mysql
# mysql-client
# mysql-devel (libmysqlclient-devel)
# mysql-shared (libmysqlclient15)
ODBC for unix:
# unixODBC
# unixODBC-devel niet gevonden, wel:
qt3-unixODBC
XML:
# libxml2
# libxml2-devel
# libxslt
# libxslt-devel
compression:
# zlib
# zlib-devel
# glibc
# glibc-devel
Simple DirectMedia Layer:
# SDL
# SDL-devel
# SDL_image
SDL_image-devel niet gevonden
# Mesa
# Mesa-devel
meer sound:
# SDL_mixer
SDL_mixer-devel niet gevonden
image
# libpng
# libpng-devel
# libjpeg
# libjpeg-devel
download van http://gambas.sourceforge.net/download.html
de laatste versie (hier 1.9.92)
tar -xjvf gambas2-1.9.92.tar.bz2
cd gambas2-1.9.92
./reconf-all
een aantal van de componenten bevat opmerkingen:
main
app
comp
examples
help
gb.compress.bzlib2
gb.compress.zlib
gb.corba
gb.crypt
gb.db.firebird
gb.db.mysql
gb.db.odbc
gb.db.postgresql
gb.db.sqlite2
gb.db.sqlite3
gb.desktop
gb.gtk
gb.gtk.svg
gb.image
gb.net
gb.net.curl
gb.net.smtp
gb.opengl
gb.pcre
gb.pdf
gb.qt
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/Makefile.am:3: `gb.qt.am’ included from here
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/ext/Makefile.am:3: `gb.qt.am’ included from here
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/opengl/Makefile.am:3: `gb.qt.am’ included from here
gb.qte
gb.qte.am:3: `%’-style pattern rules are a GNU make extension
src/Makefile.am:3: `gb.qte.am’ included from here
gb.qte.am:3: `%’-style pattern rules are a GNU make extension
src/ext/Makefile.am:3: `gb.qte.am’ included from here
gb.qt.kde
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/Makefile.am:3: `gb.qt.am’ included from here
gb.qt.am:3: `%’-style pattern rules are a GNU make extension
src/html/Makefile.am:3: `gb.qt.am’ included from here
gb.sdl
gb.sdl.sound
gb.v4l
gb.xml
./configure -C
eindigend op:
************************************************************
THESE COMPONENTS ARE DISABLED:
– gb.corba
– gb.db.firebird
– gb.db.odbc
– gb.db.sqlite2
– gb.gtk.svg
– gb.qte
– gb.sdl
– gb.sdl.sound
************************************************************
make
sudo make install
of
su root
make install
exit
gambas staat nu in
/usr/local/share/gambas2/
en de opstartfile staat in
/usr/local/bin/
icoon op desktop maken: zoek het icoon in de pre-installatie directory:
file:///home/username/Documents/Unpack/gambas2-1.9.92/app/src/gambas2/img/logo/new-logo.png
Gambas 2 is nog in ontwikkeling, maar nadert de stabiele versie. Met versienummer 1.9.x kan je nog problemen tegenkomen die soms in meer recente versies zijn opgelost. Onderstaand is daar waarschijnlijk een voorbeeld van:
Bij het een bestaand project heb ik het volgende probleem:
– bij het openen van de Main form: een foutmelding “Formulier bestand fout”, na ok een foutmelding + crash.
– verschillende projecten geprobeerd, steeds zelfde gedrag.
– module openen gaat wel.
Het bestaand project is gemaakt met Gambas 1.9.5.
Openen op Gambas 1.9.33.
Foutmelding:
This application has raised an unexpected
error and must abort.
[12] Not an object.
FForm.Form_Resize.527
Ik zal moeten upgraden naar een hogere versie.
(deze install was/is de voorgeschreven install voor deze os versie).
Schema van de werking:
Compiler: gbc ![]() |
Interpreter: gbx ![]() |
Archiver: gba ![]() |
De projectdirectory bevat alles wat de compiler nodig heeft, als beeldbestanden, broncode van de modules en classes, . De applicatie wordt vanuit de ide rechstreeks uitgevoerd. Er worden een aantal onzichtbare bestanden gemaakt, plus een directory met de naam .gambas. De bestanden zijn:
.directory
.icon.png
.settings
.lock
.project
.lock bestand verdwijnt na het sluiten van het project of het afsluiten van de IDE.
Gambas maakt na project, make executable
een bestand met de extentie .gambas in de projectdirectory. Dat kan als werkend programma aangeroepen worden zonder de programmeeromgeving op te starten.
Project, Make Source Archive
maakt een ingepakt bestand voor distributie: programma-0.0.6.tar.gz
Een Gambas programma uitvoeren (“Run”)
Als je een project open hebt kan je het gemakkelijk starten, maar ook zonder de hele programmeeromgeving op te starten kan je een programma laten draaien. Om het op een andere computer te gebruiken, die geen gambas programmeeromgeving heeft, moet je daar wel de gambas runtime hebben (gbx).
- Menu Debug/Run
- F5
- groene of zwarte pijl met "run" memo
[Desktop Entry]
Comment=
Encoding=UTF-8
Exec=’/home/wig/GambaPrj/Orderboard/Orderboard.gambas’
Icon=
Name=Orderboard
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
Als je gambas niet gestart hebt, en je klikt op dat icoon, start alleen het programma dat je in gambas gemaakt hebt. De Gambas programmeeromgeving zelf blijft onzichtbaar.
Je kan de Orderboard.gambas file overbrengen naar die andere pc (bv uploaden op web, downloaden).
Controleer of het bestand uitvoerbaar is. Erop klikken zou moeten volstaan om het uit te voeren.
Het bevat zelf vooraan in het bestand een aanwijzing:
wig@Ubuntu710:~/GambasExec$ head Orderboard.gambas
#! /usr/bin/env gbr2~ħ8�
c
# Gambas Project File 2.0
Title=Orderboard
Startup=FMain
Version=0.0.4
Library=gb.db
Library=gb.qt
Library=gb.form
Library=gb.db.form
Ik vermoed dat versie 1 gbx zal aanroepen ipv gbr2.
wig@Ubuntu710:~/GambasExec$ gbr2 Orderboard.gambas
WARNING: current bytecode version is 2.0.0 and project bytecode version is 1.9.49. You should recompile your project.
Niet al te best gelukt. Ik keek voor de “dependencies” of “afhankelijkheden” met de beschreven installatie op openSuse 10.2, en installeerde in het bestaand systeem al de beschreven packages.
De download link
ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/
komt van
http://gambas.sourceforge.net/download.html
en leidt naar
ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/SuSE_10.0
(*)
(*) Opgelet: deze versie is niet aan te raden! Zie bugs. Installeer een meer recente versie, desnoods van source en compileren!
De download uitgepakt in een lokale map, en die map toegevoegd aan de software bronnen in Yast. Dan in Yast kiezen voor installatie van “gambas” (zoek); alle gambas paketten aanduiden die in deze directory staan en installatie starten geeft een foutmelding:
gambas 1.0.16-1.gbv.suse100 conflict
/usr/bin/gbx niet beschikbaar.
Ik kies “Dit conflict negeren” en ga door.
Er worden door Yast nog een aantal extra paketten voorgesteld onder meer ivm postgresql (libdv, libraw-1394, lirc, postgresql-libs, libavc, ..).
Ik bevestig die en ze worden door Yast geïnstalleerd van de 10.0 Suse DVD, onmiddellijk gevolgd door de gambas installatie.
Nadien is in het menu Ontwikkeling, Ontwikkelingsomgeving zowel Gambas als Gambas2 aanwezig (zonder icoon – zie afbeelding hieronder).
Je kan het icoon vervangen door /usr/share/icons/gambas.png
Gambas start perfect uit het menu (versie 1 dus).
Gambas2 start ook maar ziet eruit als Gambas 1. Ook de zwevende gamba is nog aanwezig (niet meer in versie 1.9.5 bv)
Log van een installatie van huidige Gambas 1.9.91 op huidige KUbuntu 7.10 Gutsy Gibbon (lijkt ok -upd: probl met MySql: error “unable to set database charset” – in latere versies wordt dit een warning – ondertussen bestaan recentere versies van Gambas!):
Controleren van de nodige “dependencies”: in principe kan dat met sudo apt-get install (namen van de paketten):
sudo apt-get install build-essential g++ automake autoconf libbz2-dev libgnorba-dev libfbclient1 libmysqlclient15-dev unixodbc-dev libpq-dev libsqlite0-dev libsqlite3-dev libgtk2.0-dev libldap2-dev libcurl3-dev libgtkglext1-dev libqt3-mt-dev kdebase-dev libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsage-dev libxml2-dev libxslt1-dev build-essential libbonobo2-dev libcos4-dev libomniorb4-dev firebird2-dev librsvg2-dev libpoppler-dev libpoppler-dev libpoppler-glib-dev libasound2-dev libartsc0-dev libesd0-dev libesd-alsa0 libdirectfb-dev libaa1-dev
In de grafische interface met bv “Add/Remove programs” (*) lukte het me niet om zo snel-lijkt meer voor installatie van desktop gebruiksprogramma’s te zijn (* of “Adept” = het standaard pakketbeheer van KUbuntu 7.10). Je kan wel onder systeem, Adept Manager kiezen, daar heb je meer mogelijkheden.
Tik in de “search” balk achtereenvolgens de pakketnamen in en installeer.
Als je Adept/Manager al open hebt staan kan je foutmeldingen krijgen als je ook nog een apt-get start.
E: Could not get lock /var/lib/dpkg/lock – open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Adept sluiten dan en opnieuw proberen.
Als alles al geïnstalleerd en up to date was krijg je:
… is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Uitpakken in /usr/src gaat niet als gewone gebruiker omdat je daar niet mag schrijven:
/usr/src$ touch test.txt
touch: cannot touch `test.txt’: Permission denied
dus moet je sudo gebruiken om tijdelijk root rechten te krijgen:
cd /usr/src
sudo tar xvfj /home/loginnaam/Desktop/gambas2-1.48.tar.bz2
Reaktie eindigde met:
…
gambas2-1.9.91/gb.db.odbc/gb_common.h
gambas2-1.9.91/gb.db.odbc/COPYING
gambas2-1.9.91/README.svn-commit
cd gambas2-1.9.91/
sudo ./configure -C
gaf mij een scrollend scherm eindigend op :
************************************************************
THESE COMPONENTS ARE DISABLED:
– gb.qte
************************************************************
Na-installeren?
sudo apt-get install gb.qte
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Couldn’t find package gb.qte
Maar na wat opzoekwerk ontdekte ik dat gb.qte dient voor “Embedded Linux”, en ik die dus niet nodig heb.
Volgende stap:
sudo make
Allerlei output eindigend op :
make[3]: Entering directory `/usr/src/gambas2-1.9.91/examples’
make[3]: Nothing to be done for `all-am’.
make[3]: Leaving directory `/usr/src/gambas2-1.9.91/examples’
make[2]: Leaving directory `/usr/src/gambas2-1.9.91/examples’
make[2]: Entering directory `/usr/src/gambas2-1.9.91′
make[2]: Nothing to be done for `all-am’.
make[2]: Leaving directory `/usr/src/gambas2-1.9.91′
make[1]: Leaving directory `/usr/src/gambas2-1.9.91′
sudo make install
Meldingen als
Compiling Sound/CDPlayer/…
OK
…
eindigend op
make[2]: Entering directory `/usr/src/gambas2-1.9.91′
make[2]: Nothing to be done for `install-exec-am’.
make[2]: Nothing to be done for `install-data-am’.
make[2]: Leaving directory `/usr/src/gambas2-1.9.91′
make[1]: Leaving directory `/usr/src/gambas2-1.9.91′
Op de desktop een link gemaakt naar Applicatie, command ‘Gambas2’
(gebruikt /usr/local/bin/gambas2 )
Gambas start op in versie 1.9.91
Icoon van de link aanpassen: gambas beeldjes vind je met find -name gambas.png in:
./usr/src/gambas2-1.9.91/comp/src/gb.form.mdi/img/gambas.png
./usr/src/gambas2-1.9.91/comp/src/gb.form/stock/default/16/gambas.png
./usr/src/gambas2-1.9.91/comp/src/gb.form/stock/default/32/gambas.png
./usr/src/gambas2-1.9.91/comp/src/gb.form/stock/default/128/gambas.png
./usr/src/gambas2-1.9.91/app/src/gambas2/img/16/gambas.png
./usr/src/gambas2-1.9.91/app/src/gambas2/img/32/gambas.png
./usr/src/gambas2-1.9.91/app/src/gambas-database-manager/img/16/gambas.png
./usr/src/gambas2-1.9.91/app/src/gambas-database-manager/img/32/gambas.png
./usr/src/gambas2-1.9.91/gb.qte/src/gb.qte/stock/qt/16/gambas.png
./usr/src/gambas2-1.9.91/gb.qte/src/gb.qte/stock/qt/32/gambas.png
./usr/src/gambas2-1.9.91/gb.qte/src/gb.qte/stock/qt/128/gambas.png
Kies bv het logo:
/usr/src/gambas2-1.9.91/app/src/gambas2/img/logo/new-logo.png
OK!