Gambas3 Software Farm

Ik heb al een tijdje niet meer gevolgd op de mailinglist van Gambas, en daarom verwonder ik me bij een nieuwe installatie van Gambas3 (op OpenSUSE 13.1). De voorbeelden zitten niet meer bij de installatie. Maar je krijgt in de IDE wel een aanbod om de voorbeelden af te halen van de software farm. Een grappige naam voor een beproefd concept, en een goed idee om de voorbeeldbestanden iets flexibeler te benaderen.

Gambas3 in Ubuntu 14.04: voorbeelden werken niet

Na installatie van Gambas 3 in Ubuntu 14.04 kan je voor beginners ontmoedigende problemen krijgen.

Voorbeelden onbruikbaar?
Een voorbeeld openen leidt tot wat (fout-) meldingen:

  1. project is al (nog) open, met de vraag of je het toch wil openen: “The project seems already opened. Opening the same project twice can lead to data loss”
  2. Je krijgt een melding dat het project read-only is: “This project is read-only”
  3. Bovendien kan je geen “run” doen van het programma; “The program has returned the value: 1”.

De code van de voorbeeld-projecten zitten bij de programmeeromgeving, en die wordt geïnstalleerd in het systeem. Daar kan je als gebruiker geen bestanden wijzigen – wat ertoe leidt dat het project “read-only” wordt geopend. Je kan het dan ook niet bewaren op dat moment.

Oplossing:
Kopieer het project met “File, Save Project” in een map in je eigen directory. Open en wijzig de projecten daar; je krijgt geen foutmelding meer. Hier kan je ermee doen wat je wil.
Om alle voorbeeldprojecten ineens naar je home directory te kopieren, kan je ze vinden in de directory
/usr/share/gambas3/examples
Als ze op jouw systeem elders staan, kan je een voorbeeldproject dat read-only is openen en kijken bij Project, About; daar staat onder de naam van het project ook de map vermeld.

Voordeel hiervan is trouwens dat de bijgeleverde voorbeeldcode gegarandeerd de oorspronkelijke voorbeeldcode blijft, en je die niet kan verknoeien; bovendien kunnen ze mee ge-update worden.

Components missing
Een andere foutmelding die wel eens voorkomt is bv “Some components are missing: ” en dan de namen van de ontbrekende componenten. Ik vermoed dat het soms bv KDE projecten waren, die bepaalde KDE bibliotheken missen, wat normaal is als je geen KDE geïnstalleerd hebt.
Oplossing:
Kijk naar de naam; je kan in de packet manager checken of er componenten nog bij te installeren zijn.
Probeer eens een Gambas op een andere desktop/distributie combinatie; bv OpenSUSE met KDE.

Gambas3 op Ubuntu 14.04: cursor in editor staat fout

Cursor in editor fout?

De editor vertoont een eigenaardigheid: bij het veranderen van tekst staat de cursor telkens verkeerd: vóór de letter in plaats van na de letter die gewijzigd gaat worden.
In eerste instantie staat de cursor juist. Je positioneert en begint iets te wijzigen. De lijn verandert van vormgeving; de kleurcodes verdwijnen en alle letters worden gewoon zwart. Maar daarbij lijkt de lijn ook van lengte te veranderen; wordt een ander lettertype gebruikt, of komt het door het verdwijnen van de “vet” markering op bepaald letters? In ieder geval komt de plaats van de cursor niet meer overeen met de plaats van de letters in de wijzigende tekstlijn, wat ertoe leidt dat je verkeerde letters vervangt, typt enz.

Oplossing:
Tools, Preferences, Style: Onder Fonts, Editor zet bv “Courier 10 Pitch” in plaats van “Monospace”. Dit leek aanvankelijk een verbetering maar bij nader inzien toch niet de oplossing.
Uit documentatie blijkt dat het over een probleem van deze versie (3.1 of 3.2) op Ubuntu gaat.
(Vgl: in openSuse gebruik ik momenteel Gambas 3.5.4)
De werkelijke oplossing is een andere versie van Gambas3 te installeren, dus NIET die uit de standaar Ubuntu bronnen, maar wel uit een andere bron, met versienummer vanaf 3.3. De opgegeven bron werkte voor mij niet:
repository ppa:nemh/gambas3
Maar wel deze, met de meest up-to-date versie, vers uit ontwikkeling: 3.6.99 (wat misschien ook zijn problemen kan geven soms):
sudo add-apt-repository ppa:gambas-team/gambas-daily
Dan

en installeren, bv uit Ubuntu Software Center, waar je kan zoeken op Gambas3, en meer info vragen om het versienummer te checken.

gambas3-ide 3.6.99+svn6803+build22~ubuntu14.04.1

Het icoon verschijnt in de knoppenbalk links, waar je Gambas3 kan starten.

Ik heb wel twee keer moeten proberen:

Gambas3

en

Complete visual development environment for Gambas

En ik krijg nu de melding in Gambas: “Development version – use at your own risk“.

Maar de editor werkt tenminste keurig nu 🙂

Gambas2 Runtime op OpenSUSE 11.4

Upd dec. 2015: op dit moment krijg ik op een nieuwe installatie van opensuse 11.4 + evergreen geen gambas2 meer geinstalleerd. Misschien lukt het nog met bestanden kopieren van een ander werkende 11.4 systeem…

Appliance: enkel runtime
Situatie: Oude hardware (Aspire One ZG5) kan toegewezen worden aan één bepaalde toepassing (combinatie van toepassingen voor eenzelfde doel), en moet niet algemeen als desktop pc onderhouden worden (geen browser updates nodig enz).
Daarvoor doen we een “nieuwe” OpenSUSE 11.4 installatie met alleen de Gambas runtime, en dus niet de hele programmeeromgeving (IDE); zie voor installatie volledige Gambas2 IDE hier).

Softwarebron
http://software.opensuse.org/package/gambas2, dan onder “unsupported distributions” openen, en dan
KDE:KDE3 – 2.24.0 32 Bit
En bevestigen; er begint een download die redelijk wat extra paketten ook afhaalt.
Nadien is de gambas runtime geïnstalleerd:

gambas2 – Runtime Environment for Gambas

/usr/bin/gambas2
/usr/bin/gambas2-database-manager.gambas
/usr/bin/gambas2.gambas

3 files total

“gambas runtime”
Volgende vraag: hoe gebruiken? Ik heb de runtime geïnstalleerd en ik heb een programma dat in de gambas IDE (op een andere computer) gecompileerd werd tot een .gambas bestand.
Bij pogingen het programma te draaien krijg ik altijd foutmeldingen, bv

/usr/bin/env: gbr2: No such file or directory

In /usr/bin staan uitvoerbare programma’s; gbr en gbx bestaan niet hier. gbr is een link naar gbx (zag ik op een systeem met de hele Gambas2 IDE). Maar zelfs als ze even geleend worden van het andere systeem werkt het hier niet mee; er komen weer andere fouten als gb.gui not found, maar die vind ik op het andere systeem ook niet als file of in de repo.

Ik doe nog eens het ommetje langs de opensuse website en kies nog eens de install van de 32bit versie uit de KDE3 repository:
http://software.opensuse.org/package/gambas2
En na wachtwoord vraag begint packagekit weer iets te installeren. Een hele lijst zelfs, waarin ik zie voorbijkomen:
waarin ook gambas2, en verder: samba, gimp-help, libreoffice converter en extentions, enz… om te eindigen in “File was installed successfully”.
Maar ik zie verder niet veel verschil, behalve dat mijn harddisk nu voor 4.4 Gb vol is ipv 3.9.

KDE3 bron
Ik voeg nog de KDE3 repository toe, manueel als URL, want de community optie werkt niet in mijn huidige 11.4:
http://download.opensuse.org/repositories/KDE:/KDE3/openSUSE_11.4/

Daarna is er veel meer Gambas2 in de lijst van Yast/Software management (zoek: gambas).
Ik zie alle afzonderlijke componenten, en kies de gambas2-gb-gui alleen uit. Die vereist dan nog een paar extra componenten, zoals de “runtime”- die zal daarmee vervangen worden veronderstel ik.

Nadien: ruimtegebruik: 4.5 Gb

Ik mis nu gb.form, die er in het package management uitziet als:

gambas2-gb-form – The control component for both GTK+ and qt

(Naam moet je weten als je zypper wil gebruiken). Installeer.
zypper install gambas2-gb-form

Zelfde voor:
gb.db: zypper install gambas2-gb-db
gb.db.form: zypper install gambas2-gb-db-form
gb.settings: zypper install gambas2-gb-settings
gb.qt:zypper install gambas2-gb-qt

Dit zijn er een paar meer:

Loading repository data…
Warning: Repository ‘openSUSE-11.4-Update’ appears to outdated. Consider using a different mirror or server.
Reading installed packages…
Resolving package dependencies…

The following NEW packages are going to be installed:
gambas2-gb-qt kdelibs3-default-style qt3

The following recommended package was automatically selected:
kdelibs3-default-style

3 new packages to install.
Overall download size: 3.1 MiB. After the operation, additional 10.2 MiB will be used.
Continue? [y/n/?] (y):
Retrieving package qt3-3.3.8c-219.1.i586 (1/3), 2.8 MiB (9.1 MiB unpacked)
Retrieving: qt3-3.3.8c-219.1.i586.rpm [done (377.9 KiB/s)]
Retrieving package kdelibs3-default-style-3.5.10-232.1.i586 (2/3), 128.0 KiB (381.0 KiB unpacked)
Retrieving: kdelibs3-default-style-3.5.10-232.1.i586.rpm [done (0 B/s)]
Retrieving package gambas2-gb-qt-2.24.0-22.1.i586 (3/3), 190.0 KiB (696.0 KiB unpacked)
Retrieving: gambas2-gb-qt-2.24.0-22.1.i586.rpm [done]
Installing: qt3-3.3.8c-219.1 [done]
Installing: kdelibs3-default-style-3.5.10-232.1 [done]
Installing: gambas2-gb-qt-2.24.0-22.1 [done]

Run
Maar daarna draait de applicatie perfect! En zonder de Gambas2-IDE.
Het .gambas bestand is uitvoerbaar gemaakt (chmod +x).
Voor alle .gambas programma’s een Gb2Run directory gemaakt in mijn home map, en daar gestart:
~/Gb2Run> ./mijnprogramma.gambas
Eens de meestgebruikte componenten geïnstalleerd, zijn toekomstige programma’s minder omslachtig te installeren, tenzij ze weer een nieuwe component nodig hebben.
Dit soort afhankelijkheden wordt waarschijnlijk opgevangen als je vanuit Gambas installatie-packages maakt.

Keek op de week: waar begint de weektelling?

Na het vervangen van een server treden er eigenaardige fouten op, die te maken hebben met tijdsberekening. Nader onderzoek leidt me tot enkele eenvoudige testen:

Gambas commandolijn (onderaan in de IDE):

? week(now())

41

Dan op de mysql server via de browser in phpmyadmin of rechtstreeks in de mysql commandprompt:

SELECT WEEK(NOW());

+-------------+
| week(now()) |
+-------------+
|          40 |
+-------------+
1 row in set (0.02 sec)

Niet iedereen begint op dezelfde manier te tellen; de Europeanen blijkbaar vanaf de eerste dag van het jaar, de Amerikanen vanaf de eerste volle week van het jaar.

Gambas2 op OpenSUSE 13.1: meer dan de runtime?!

Het lijkt erop dat Gambas2 stilaan en onvermijdelijk Einde Loopbaan is. In de huidige installatie van OpenSUSE 13.1 komt bv alleen nog de runtime voor van Gambas2, tenminste als je de community repositories/Educational geïnstalleerd hebt. (bronnen van de gemeenschap)
Gambas 2.24.0 is installeerbaar van de One Click install
Ik ging specifiek op zoek naar de gambas2 IDE en vond die ook:
http://software.opensuse.org/package/gambas2-ide:

Als u doorgaat zullen de volgende wijzigingen worden aangebracht aan uw systeem:
Toe te voegen installatiebronnen:
http://download.opensuse.org/distribution/13.1/repo/non-oss/ (openSUSE:13.1:NonFree)
http://download.opensuse.org/distribution/13.1/repo/oss/ (openSUSE:13.1)
http://download.opensuse.org/repositories/Education/openSUSE_13.1/ (Education)
http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_13.1/ (devel:languages:perl)
http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_13.1/ (devel:languages:python)

Te installeren software:
gambas2-ide

Gambas2 programmeeromgeving duikt op in het klassiek KDE menu recent geïnstalleerd.

Ubuntu 12.04 LTS naar 14.04 zonder Gambas2

Op Ubuntu 12.04 draait Gambas2 vlot en snel. Bij een upgrade naar 14.04 krijg je heel wat nieuwe softwareversies; maar wat gebeurt met de geïnstalleerde Gambas2 (2.23) ?

Gambas3 is immers niet zomaar een nieuwe versie van Gambas2 als bij een nieuwe Firefox versie; sommige fundamentele zaken zijn veranderd, en je ontsnapt er niet aan om de broncode van programma’s aan te passen voor gebruik in Gambas3.

Na installatie van de upgrade krijg je de vraag om oude softwarepaketten te verwijderen; zo’n 200-tal zijn niet meer nodig, een 120 worden aangeboden om te verwijderen met een klik.

Kijk even naar de “Details”, in de alfabetische lijst ben je vrij snel bij de “g” van Gambas. Gambas2 staat aangeduid om te verwijderen! Je kan kiezen voor “behouden”.

Daarna is het computer herstarten. Gambas2 IDE, en de in Gambas2 gemaakte applicaties (met hun icoon op de desktop) werken nu nog.

ps: Ik weet niet hoe het zit in andere distributies; op openSUSE heeft de combinatie Gambas2 en Gambas3 lang goed gewerkt (nog op dit moment september 2014).

Gambas error door databank update: “wanted Integer ..”

Bij een bestaande applicatie in gambas2 duikt een fout op na een update van de database server:

Type mismatch: wanted Integer, got String instead

Net voor het probleem opdook werd de server waarop de MySQL databank draaide, geupdate van
mysql 3.23.x naar mysql 5.5.x

De reaktie van de database is veranderd bij een ontbrekende waarde; in plaats van een 0 (nul als getal), komt nu een andere waarde terug (in debug getoond als -23495771):

De test die vroeger het onderscheid maakte of data aanwezig was of niet in het veld fld_diff in een resultset resRecord:

IF resRecord!fld_diff > 0

is nu vervangen door een combinatie met een test op het type van het veld:

IF TypeOf(resRecord!fld_diff) = gb.Integer
    IF resRecord!fld_diff > 0

Pas als je weet dat het een getal is kan je de waarde gaan testen.

Daarna werkte het programma terug.

Een array vullen met bestandsnamen

Een array arrFileNames moet gevuld worden met de namen van de bestanden uit een directory sDirectory.

En hoewel je de directory kan gaan doorlopen en één voor één de namen uitlezen en in een array toevoegen met “insert’, bestaat er een snelle en handige manier in gambas met “Dir“, dat een array teruggeeft op een selectie van bestanden:

aFiles = Dir(sDirectory, "*.txt")

Voorbeeld van uitlezen van beelden en opeenvolgend tonen in bestaande Picturebox1 :

 DIM s AS String
...
 TRY aFiles = Dir(sDirectory, "*.png")
 IF ERROR 
    DEBUG Error.Text
  ELSE 
    FOR EACH s IN aFiles
      Picturebox1.Picture = Picture.Load(sDirectory &/ s)
      Message.Info(s) ' toon bestandsnaam en wacht
    NEXT 
  ENDIF 

Gambas3 start niet meer op na upgrade openSUSE 13.1: omzeilen

Kort:

Probleem na upgrade van openSUSE 13.1: gambas3 start niet meer op.

openSUSE 13.1 – Gambas 3.5.4-3.1 na upgrade: “unable to find startup file”
(of start met commando gambas3: “KDEInit could not launch ‘gambas3.gambas’: Could not find ‘gambas3.gambas’ executable)

Oplossing: installeer van de home:munix9:gambas repository (** Beschrijving om probleem op te lossen/te omzeilen)

Probleem-beschrijving

/usr/bin/gambas3
gbx3: unable to find startup file

Er zijn gambas2 en gambas3 files te vinden in:
/usr/bin
/usr/share

cyb@linuxbox:/usr/bin> ls gb*
gba2 gba3 gbc2 gbc3 gbi2 gbi3 gbr2 gbr3 gbs2 gbs2.gambas gbs3 gbs3.gambas gbw2 gbw3 gbx2 gbx3

cyb@linuxbox:/usr/bin> ls gamb*
gambas2 gambas2-database-manager.gambas gambas2.gambas gambas3

en

:/usr/share> ls gamb*
gambas2:
examples help info

gambas3:
control examples gb.sdl help icons info

en dan nog wat links en iconen en zo.

Info: opensuse 13.1 / 64 bit / KDE 4.11.5/gambas 3.5.4-3.1
Repository: OpenSUSE / Education.
Geen beschrijvingen op web gevonden op dit moment (16/7).

Gambas3 komt voor in 3 repositories: educational, home:ccgx en home:munix9:gambas. (software.opensuse.org/package/gambas3)
Ik probeer om te schakelen naar home:ccgx , wat gambas 3.5.4-4.2 installeert.
Maar dat werkt evenmin; exact dezelfde melding “unable to find startup file”, na:

  • 1. de-installeren- alle bestanden ivm gambas3 en gb3 zijn weg in beide directories;
  • 2. uitschakelen softwarebron en inschakelen andere softwarebron;
  • 3. opnieuw installeren

Sommige bestanden hebben een grootte van 0, en bij het starten van gbi3 krijg ik foutmeldingen.
(zien helemaal onderaan *)

** Beschrijving om probleem op te lossen/te omzeilen:

Verander repository naar home:munix9:gambas

Je kan ook via software.opensuse.org zoeken op gambas3; daar heb je de mogelijkheid tot “1-click” install. Daarbij worden volgende repositories toegevoegd:

  • http://download.opensuse.org/repositories/home:/munix9/gambas/openSUSE_13.1/
  • http://download.opensuse.org/repositories/openSUSE:/13.1/standard/

Deze keer is het goed; de “munich” repository installeert wel een versie die opstart.
in Yast 18/7: Gambas 3.5.4-2.2 Build time Sat 12 Jul 2014 09:59:16 PM CEST
Deze versie kreeg (een update) updates:
22/7/2014 Gambas 3.5.4-4.1 Build time Tue 22 Jul 2014 02:06:39 AM CEST
23/7/2014 Gambas 3.5.4-5.1 Build time Tue 22 Jul 2014 08:55:53 AM CEST
06/8/2014 Gambas 3.5.4-5.2 Build time Wed 30 Jul 2014 03:50:31 PM CEST
12/8/2014 Gambas 3.5.4-5.3 Build time Mon 06 Aug 2014 03:25:52 PM CEST
21/8/2014 Gambas 3.5.4-5.4 Build time Thu 21 Aug 2014 12:14:22 AM CEST
22/8/2014 Gambas 3.5.4-5.5 Build time Fri 22 Aug 2014 01:11:56 AM CEST
22/8/2014 Gambas 3.5.4-5.6 Build time Sat 23 Aug 2014 03:37:15 AM CEST

18/9/2014 Gambas 3.5.4-5.10 Build time Thu 18 Sep 2014 05:56:46 AM CEST
23/9/2014 Gambas 3.5.4-6.1 Build time Sun 21 Sep 2014 08:01:17 PM CEST
23/9/2014 Gambas 3.5.4-6.3 Build time Wed 24 Sep 2014 03:26:56 PM CEST (6.2 gemist?)
29/9/2014 Gambas 3.5.4-6.4 Build time Mon 29 Sep 2014 07:52:39 PM CEST
07/10/2014 Gambas 3.5.4-6.5 Build time Mon 06 Oct 2014 04:57:15 PM CEST

Regelmatige updates blijkbaar, niet slecht dus!

Update 22/10/2014:
Als ik na een niet-werkende gambas3 uit de education repo, nu die uit de munich repo probeer te installeren krijg ik een foutmelding op de “ports” repositories:
ports/
Ports/extra/
Update/ports/

Ik heb die ge-deselecteerd, en de installatie verdergezet.
Lijkt te werken.

Continue reading