Hoewel Gambas al een tijdje standaard aanwezig is in de Raspberry Pi systemen, ondervind ik in maart 2024 een probleem met Gambas3 3.18.0 op een Raspberry Pi 5 (4GB versie) met Debian GNU/Linux 12 Raspberry Pi Debian 1:6.6.47 aarch64 (onderaan de volledige gambas system info).
Ik kon Gambas installeren, ik kan de IDE starten, ik kan een project openen, en zelfs het project compileren en uitvoeren.
Maar er is iets fout met de IDE van Gambas3; als ik in de linkse kolom op een tekstbestand klik, bv Changes.txt, crasht de IDE met:
This application has raised an unexpected error and must abort.
Read-only array (#65).
[gb.gui.base].^^Desktop.GetDesktop.58
Twee knoppen bij die melding: Negeer en Sluiten.
– Negeer: geeft terug dezelfde fout, en opnieuw en opnieuw, tientallen keren.
– Sluiten: Gambas IDE sluit af.
Ik vind die foutmelding terug op https://gambaswiki.org/wiki/error/sarray
Read-only array (65)
A method or a property cannot be applied to a read-only array.
Dus, het lijkt een Gambas foutmelding te zijn? De IDE is gemaakt in Gambas, dus een foutmelding uit de IDE? De IDE is zelf een Gambas project….
– ik haal de gambas master af: 3.19.90. Compileert niet, foutmeldingen die waarschijnlijk te maken hebben met backward compatibility problemen.
– ik haal 3.18.4 af. Open in IDE. Run… ok!! En die crasht ook. Op lijn 588 in FMain:
hProgList = DesktopFile.FromMime(sMime)
Ik begrijp niets van de foutmelding ivm read only, maar ik wel wel even zien wat het programma zou doen als het voorbij deze fout geraakt:
Try hProgList = DesktopFile.FromMime(sMime)
Niets. Of beter: alles. Geen probleem meer, ik kan de Data bestanden openen in de IDE en er in werken. Opgelost!? Nog raar: als ik de in Gambas gecompileerde 3.18.4 start, geeft die als versienummer toch 3.18.0… ik heb het gevoel dat er niets niet klopt…
Omzeilen
Eigenaardig genoeg werkt de Gambas3 programmeeromgeving perfect zolang je niet klikt op de verkeerde plaats. Je kan dus WEL:
– een project openen
– een Form wijzigen
– de Form code wijzigen
– het project compileren, uitvoeren, executable maken
– een nieuw bestand bijmaken
Je kan ook het onderdeel “Data” openklikken, maar dan …
De “verkeerde klik” is op alles wat onder “Data” zit, in mijn geval Changes.txt, README.md, License.txt enz..
Dus: als je die tekstbestanden edit van buitenaf kan je eigenlijk de hele programmeeromgeving gebruiken …
Ps:
Soms werkt Gambas niet als verwacht omdat er bepaalde onderdelen niet mee geïnstalleerd zijn.
Geprobeerd gambas3 te vervolledigen om van de fout van het laden van stockpi-lib af te geraken.
sudo apt install gambas3*
fout blijft…
Die Pi5 is een tijdje blijven liggen, nu probeer ik eerst een upgrade:
sudo rpi-update
fout blijft…
Uitwijkmogelijkheid:
– van broncode compileren (kan wel wat duren op een Pi..)
– De ontwikkelaar van Gambas werkt met Ubuntu denk ik, en er bestaat een ubuntu voor Raspberry Pi: https://ubuntu.com/download/raspberry-pi.
Continue reading