'Form.Refresh' is incorrectly overridden

Probleme, Fragen und Lösungen
Antworten
wodim
Foriker
Beiträge: 2
Registriert: Fr 7. Aug 2015, 01:14
Kontaktdaten:

'Form.Refresh' is incorrectly overridden

Beitrag von wodim » Fr 7. Aug 2015, 01:32

Hallo,

(Gambas 3.1.1.) Beispielprojekt "MySQLExample 3.0.90", modMain:

Code: Alles auswählen

11 Public $hFTables As FTables
[...]
Public Procedure Main()
[...]
43 $hFTables = New FTables

Hier kommt die Fehlermeldung:

Code: Alles auswählen

modMain.Main.43::'Form.Refresh' is incorrectly overridden in class 'FTables'

Was ist da kaputt? :?: Ich wollte ja die Hilfe zu Rate ziehen, aber der Hilfe-Browser zeigt mit ein leeres Fenster ...

Ich vermute ja stark, dass die Installation nicht sauber gelaufen ist. Hab's mit Synaptic gemacht, mein System ist Debian 7.5 (wheezy 32-Bit). (Zunächst ging gar nichts, weil alles unter /usr/share/gambas3 mit root:root angelegt war) ...

Danke im voraus für gezielte Fehlersuchhinweise.

tux_
Moderator
Beiträge: 943
Registriert: Di 11. Nov 2008, 20:05
Kontaktdaten:

Re: 'Form.Refresh' is incorrectly overridden

Beitrag von tux_ » Fr 7. Aug 2015, 07:52

Ich will zuerst mal nicht ausschlieszen, dass das MySQLExample in Gambas 3.1.1 an sich fehlerhaft war.
Zunächst ging gar nichts, weil alles unter /usr/share/gambas3 mit root:root angelegt war

Das ist eigentlich richtig so. Die Dateien sollen root:root gehoeren, aber von allen lesbar sein. In /usr/share/gambas3 wird nach abgeschlossener Installation nichts geschrieben.

Gambas 3.1.1. [...] Synaptic [...] mein System ist Debian

Im Gambas-Wiki[0] steht, dass die Synaptic-Pakete fuer Gambas 3.1.1 in aelteren *Ubuntu*-Versionen kaputt sind. Auf den Debian-Seiten[1] steht jedoch nicht von kaputten Paketen... Ich kann da jedenfalls nicht weiterhelfen.

Zuletzt zum Fehler an sich:

Code: Alles auswählen

modMain.Main.43::'Form.Refresh' is incorrectly overridden in class 'FTables'

Das bedeutet, dass (entweder die Symbolaufloesung im Interpreter voellig kaputt ist oder) es eine Methode namens Refresh im Formular-Code zu FTables gibt und diese eine andere Signatur hat als die Refresh()-Methode[2] der Elternklasse Form. Das sollte leicht herauszufinden sein. Wenn das der Fall ist, liegt der Fehler nicht an der Installation sondern einfach am Code. Du muesstest dann etwas tun, wie die Refresh()-Funktion in FTables in "Reload" o.ae. umzubenennen.

[0] http://gambaswiki.org/wiki/install/ubuntu
[1] http://gambaswiki.org/wiki/install/debian
[2] http://gambaswiki.org/wiki/comp/gb.qt4/form/refresh
Achtung: Es passiert, dass ich einen frisch geschrieben Beitrag innerhalb von 10 Minuten noch 3-4 Mal aendere!

wodim
Foriker
Beiträge: 2
Registriert: Fr 7. Aug 2015, 01:14
Kontaktdaten:

Re: 'Form.Refresh' is incorrectly overridden

Beitrag von wodim » Fr 7. Aug 2015, 08:31

tux_ hat geschrieben:Ich will zuerst mal nicht ausschlieszen, dass das MySQLExample in Gambas 3.1.1 an sich fehlerhaft war.
Zunächst ging gar nichts, weil alles unter /usr/share/gambas3 mit root:root angelegt war

Das ist eigentlich richtig so. Die Dateien sollen root:root gehoeren, aber von allen lesbar sein. In /usr/share/gambas3 wird nach abgeschlossener Installation nichts geschrieben.

Doch, schon. Und zwar beim Öffnen des Projekts ins Projektverzeichnis (in diesem Fall /usr/share/gambas3/examples/Database/MySQLExample) eine Datei ".lock". Wenn das nicht geht, kommt "Das Projekt scheint schon geöffnet zu sein." Das kann man zwar wegklicken, aber schließlich will man ja am Projekt vielleicht auch mal was ändern ...

tux_ hat geschrieben:
Gambas 3.1.1. [...] Synaptic [...] mein System ist Debian

Im Gambas-Wiki[0] steht, dass die Synaptic-Pakete fuer Gambas 3.1.1 in aelteren *Ubuntu*-Versionen kaputt sind. Auf den Debian-Seiten[1] steht jedoch nicht von kaputten Paketen... Ich kann da jedenfalls nicht weiterhelfen.

Hast du doch schon. :wink:

tux_ hat geschrieben:Zuletzt zum Fehler an sich:

Code: Alles auswählen

modMain.Main.43::'Form.Refresh' is incorrectly overridden in class 'FTables'

Das bedeutet, dass (entweder die Symbolaufloesung im Interpreter voellig kaputt ist ...

Nö, sooo schlimm ist es nicht.. :wink:

tux_ hat geschrieben:oder) es eine Methode namens Refresh im Formular-Code zu FTables gibt und diese eine andere Signatur hat als die Refresh()-Methode[2] der Elternklasse Form. Das sollte leicht herauszufinden sein. Wenn das der Fall ist, liegt der Fehler nicht an der Installation sondern einfach am Code. Du muesstest dann etwas tun, wie die Refresh()-Funktion in FTables in "Reload" o.ae. umzubenennen.

Hab' ich gemacht - funzt, danke!

Jetzt also noch die Frage, warum die Hilfe nicht funktioniert. Vielleicht nur (ein) fehlendes Paket(e)?

tux_
Moderator
Beiträge: 943
Registriert: Di 11. Nov 2008, 20:05
Kontaktdaten:

Re: 'Form.Refresh' is incorrectly overridden

Beitrag von tux_ » Fr 7. Aug 2015, 17:52

Doch, schon. Und zwar beim Öffnen des Projekts ins Projektverzeichnis (in diesem Fall /usr/share/gambas3/examples/Database/MySQLExample) eine Datei ".lock". Wenn das nicht geht, kommt "Das Projekt scheint schon geöffnet zu sein." Das kann man zwar wegklicken, aber schließlich will man ja am Projekt vielleicht auch mal was ändern ...

Dafuer ist die vorgeschlagene Strategie, das Originalprojekt in /usr/share/gambas3/examples zu oeffnen und mit "Speichern unter..." eine Kopie anzulegen. An dieser Kopie kannst du nach Herzenslust arbeiten und hast immernoch ein Original unter /usr/share.

Jetzt also noch die Frage, warum die Hilfe nicht funktioniert. Vielleicht nur (ein) fehlendes Paket(e)?

Gambas 3.1.1 ist von April 2012. Damals hatten wir noch gambasdoc.org als Domain fuer die Hilfeseiten (und damit Quelle des IDE-Hilfesystems), mittlerweile ist diese Domain aber abgeschaltet und durch gambaswiki.org ersetzt worden.
Achtung: Es passiert, dass ich einen frisch geschrieben Beitrag innerhalb von 10 Minuten noch 3-4 Mal aendere!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast