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 🙂

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).

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

openSUSE 13.1 – Gambas 3.5 upgrade probleem: omzeild

openSUSE 13.1 – Gambas 3.5.2-1.4 upgrade probleem; omzeild.

Bij upgrade naar Gambas 3.5.2-1.4 op OpenSUSE kan een probleem opduiken, waarbij Gambas3 niet meer start. Mogelijk heeft het te maken met de oorspronkelijk geïnstalleerde versie van het Munich project. Daar ontbraken de voorbeelden van de programmeeromgeving, wat deed zoeken naar een andere versie. De Educational repository van openSUSE werd geactiveerd, en die deed een “upgrade” van 3.4 naar 3.5, waarbij een aantal componenten echter niet meer voor handen bleken (uit de foutmeldingen).

Enkele opeenvolgende foutmeldingen op de commandline:

gambas3
Cannot load class ‘Action’: Bytecode too recent. Please upgrade Gambas.

gambas3
gbx3: unable to find startup file

gambas3
/usr/bin/gambas3: No such file or directory

Aan de laatste ziet u al wat ik deed; ik verwijderde met de package manager yast heel gambas3 (zoek op “gambas3” – laat gambas2 staan als je die wil houden).

Daarna gambas3 terug geïnstalleerd van de education repository, en Gambas 3.5.2 start vrolijk op.

Gambas 3 <> Gambas 2

Gambas2-Gambas3 incompatibiliteit
Gambas2 code is niet volledig compatibel met Gambas3 code, je kan die niet zomaar draaien. In de ontwikkeling van Gambas2 werd al aangegeven welke dingen zouden gaan verdwijnen (bv. “backcolor”).

Omzetten Gambas2-Gambas3
Bij het openen/importeren van een Gambas2 programma in Gambas3 zorgt de IDE voor het converteren van het Gambas2 naar een Gambas3 programma. Dat verloopt “redelijk” goed.

Behalve…
Volgende problemen heb ik gehad
normaal hebben ze te maken met het verschil tussen de twee versies, tenzij er toevallig echte bugs tussen zitten; zowel van de code als van de gambas-versie.

Voorbeelden:

backcolor, forecolor
De eigenschap van “BackColor” bestaat niet in Gambas3; te vervangen door “Background”.
Gridview_Cell.BackColor -> Gridview_Cell..Background
Gridview_Cell.ForeColor -> Gridview_Cell.Foreground

Hetzelfde voor ForeColor -> ForeGround

HSplit instellingen
Het bewaren en terug ophalen van waarde van een HSplit container.
(foutmelding op string: “Type mismatch: wanted Integer[], got String instead” bij ophalen Setting)
HSplit1.Settings = Settings[“Screen/Spitter”, “150,600,300,160”]
(dit effect verdween nadat de settings file gekopieerd werd naar deze computer – de fout zit dus in de alternatieve waarde-string; mogelijk bug van dit programma.)
Gevonden in een artikel op de mailinglist:
– bewaar:
Settings["Screen/HSplit1.Layout"] = HSplit1.Layout
– ophalen:
HSplit_Main.Layout = Settings["Screen/HSplit1.Layout"] = HSplit1.Layout
Dit werkte, en in de config file wordt het
Splitter.Layout=[0, 160, 780, 470, 470]
in plaats van:
Splitter="0, 160, 780, 470, 470"

Database connection open?
empty result set retrieving data from mysql/mariadb… “connection is not opened”
Opgelost met het toevoegen van een “TRY $hCon.Open”
(niet onderzocht waar het verschil tussen 2 en 3 hier zit).

Text cursor positie
Hier niet helemaal zeker van wat 2 betreft, maar ik ondervond dat ik de cursor zelf bovenaan moet zetten in 3.
TextArea1.Pos = 0

KDE 4.8.5 en Gambas2

Opgemerkt in Gambas2 op KDE 4.8.5 (opensuse 12.2): geen icoon in bovenrand venster en taakwisselaar

FMain: icoon is ingesteld op een png file in de properties, icon van FMain.

In de IDE toont de bovenrand ook dat ingestelde logo.

Start applicatie vanuit IDE: het FMain venster heeft niet het gekozen icoon, maar het algemene X icoon.

Gecompileerde applicatie: ook geen icoon in vensterrand.

In KDE 4.4.4 nog geen probleem.

Het kan wel zijn dat de voorwaarden waaraan het icoon moet voldoen in deze KDE versie “strenger” zijn geworden; en dat het gebruikte icoon vroeger ook al niet voldeed aan de standaard.

Ter vergelijking, dit is hoe de gambas IDE zelf* eruitziet (normaal met icoon):

KDE 4.8.5:

* (de Gambas IDE is zelf een gambas programma).

Ps: in Gambas3 werkt het wel.

Een beginners-gids voor Gambas, aangepast aan versie 3

Beginners guide to Gambas
Hoe eenvoudig kan het zijn:
* beginnersguidetogambas.com
Een Engelstalig werk, ook vroeger hier al vermeld, oorsprong VS.

Het was het eerste en enige werk dat in de begindagen van Gambas 1 en 2 te vinden was, en onmisbaar voor elke beginner.

Het mooie is dat deze uitgave bijgewerkt is tot versie 3 van Gambas.

Er zijn nog een paar extra’s:

  • Gambas3_Examples_not_edited
  • BGG_Projects_by_Chapter
  • GambasFormControlsReference (OpenDocument Sheet) zie hieronder:

    This table shows controls that we typically place on Gambas forms. They are valid for Gambas3 and Qt4 or GTK+, and most of them are also valid for

    Een overzicht van de controls, niet mooi maar wel handig. Engelstalig. Een kleine uitsnede:

Het lelijke op de site is de flash-box waar de downloads in zitten, maar dus:

http://beginnersguidetogambas.com/

Gevonden dankzij een tip van Jon Nicholson

Standaard leeg project

Project Type: Graphical application.
Options:

  • Internationalisation
  • Database access
  • Settings files management

Name: EmptyProject
Title: Empty Project

FMain: Menu met

  • File: Quit
  • Help: About, Changes, License

Form_Open: zet programma titel en versie.
doClose(): aangeroepen bij Menu/Quit (of scherm “Exit” button); kan afsluitende code aanroepen (wegschrijven toestand)

FAbout: About logo en tekst: naam plus versie.

FLicense: Toont License.txt
FChanges: Toont Changes.txt

Misschien nog een “test” menu-item dat alleen verschijnt als de conf file de verwijzing bevat:

[Mode]
Developer=”TRUE”

Op basis van die verwijzing zet je bij het starten van het programma het menu op visible.
Daaronder kunnen dat stukjes code getest worden die nog niet zijn vrijgegeven voor gebruik.
Opgelet: de gebruiker kan door het (buiten het programma om) wijzigen van zijn settings file dit menu dus aanzetten!

Logs en foutmeldingen op scherm

– Een eenvoudige weergave van log-meldingen en foutmeldingen kan in het (hoofd-)venster van het programma FMain in een ListBoxLog en ListBoxError. Door ListBoxLog.Add(“Opmerking”, 0) kan je de meldingen bovenaan toevoegen, de oude rollen weg naar beneden.

Fouten met Error Class

Een foutklasse CError kan vanuit het programma geinitieerd worden en de foutafhandeling waarnemen; bv kunnen de fouten naar een bestand gelogd worden, waarin elke regel voorafgegaan wordt door datum en tijd, en de foutmeldingslijn aangevuld wordt met de gebruiker System.User.Name

(laatste aanpassing: 08-2014)