OnPaint feuert nicht
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
OnPaint feuert nicht
Hallo,
ich habe ein Problem mit einer Anwendung, die vor den letzten Änderungen noch funktionierte. Eines der Forms ist defekt. Wenn ich die ComboBoxen der Eventhandler aufklappe, steht da bei jedem Eventhanler "keine", obwohl es welche gibt. Einige der zugewiesenen Eventhandler feuern trotzdem. Aber OnPaint feuert nicht. In der *.dfm steht aber "OnPaint = FormPaint", ähnlich wie bei den anderen Eventhandlern. Die zugeordnete *.pas deklariert auch alle Eventhandler. Wonach soll ich noch schauen, um den Fehler zu beseitigen?
Gruß
Heiner
ich habe ein Problem mit einer Anwendung, die vor den letzten Änderungen noch funktionierte. Eines der Forms ist defekt. Wenn ich die ComboBoxen der Eventhandler aufklappe, steht da bei jedem Eventhanler "keine", obwohl es welche gibt. Einige der zugewiesenen Eventhandler feuern trotzdem. Aber OnPaint feuert nicht. In der *.dfm steht aber "OnPaint = FormPaint", ähnlich wie bei den anderen Eventhandlern. Die zugeordnete *.pas deklariert auch alle Eventhandler. Wonach soll ich noch schauen, um den Fehler zu beseitigen?
Gruß
Heiner
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: OnPaint feuert nicht
Beim Click auf irgendeinen Eventhandler in diesem Form öffnet Lazarus die Datei stat.inc und meldet
/usr/share/fpcsrc/rtl/linux/i386/stat.inc(20,32) Error: "End." erwartet aber deprecated gefunden
Der Fehler tritt nur in Lazarus für Linux auf. Dasselbe Projekt in Lazarus für Windows funktioniert.
/usr/share/fpcsrc/rtl/linux/i386/stat.inc(20,32) Error: "End." erwartet aber deprecated gefunden
Der Fehler tritt nur in Lazarus für Linux auf. Dasselbe Projekt in Lazarus für Windows funktioniert.
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: OnPaint feuert nicht
Am schnellsten behoben wird das ganze wenn du es im Bugtracker meldest, sollte es da nicht schon stehen ..
--
Just try it
Just try it
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: OnPaint feuert nicht
http://bugs.freepascal.org/view.php?id=19488" onclick="window.open(this.href);return false;
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: OnPaint feuert nicht
ui,
da geben ich Juha Manninen recht, du solltest immer versuchen dein Problem in ein kleines einfaches Sample zu kapseln. Ich mache das auch oft so und stelle dann fest, dass das Problem nicht an Lazarus liegt, sondern doch an meinem Fehlerhaften Code..
da geben ich Juha Manninen recht, du solltest immer versuchen dein Problem in ein kleines einfaches Sample zu kapseln. Ich mache das auch oft so und stelle dann fest, dass das Problem nicht an Lazarus liegt, sondern doch an meinem Fehlerhaften Code..
--
Just try it
Just try it
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: OnPaint feuert nicht
Der Fehler tritt nur in diesem Projekt auf. Wenn ich ein Testprojekt mache, tritt der Fehler garantiert nicht auf. Aber ich hab mich in meinem Projekt schon zu Tode gesucht. Ich hoffe darauf, dass jemand schon mal ähnliches erlebt hat und mir einen Tip geben kann, was ich noch prüfen kann.
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: OnPaint feuert nicht
Ohne ein Beispiel-Projekt wird es schwierig werden, den Fehler nachzuvollziehen. Es kann an alles mögliche liegen.
Du müsstest es schaffen können, den Fehler zu Isolieren. Z.B. in dem du den Weg zurück gehst, die das Event hat. Z.B. über den Debugger.
Du müsstest es schaffen können, den Fehler zu Isolieren. Z.B. in dem du den Weg zurück gehst, die das Event hat. Z.B. über den Debugger.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: OnPaint feuert nicht
Der Debugger hilft mir da nicht. Ich hab einen Breakpoint an den Anfang meines FormPaint Handlers gesetzt und die Anwendung startet ohne am Breakpoint vorbei zu kommen. Es reicht, das Projekt in Lazarus zu laden und im Objektinspektor die Eventhandler von MainForm zu prüfen. Ich erwarte, dass ich bei den Events jeweils aus einer Liste meiner Eventhandler auswählen kann. Aber alle Eventhandler von MainForm zeigen "keine" an und Lazarus öffnet stat.inc mit einer Fehlermeldung.
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: OnPaint feuert nicht
Das scheint wohl ein Fehler in den CodeTools zu sein. Vielleicht hilft folgendes:Heinrich Wolf hat geschrieben:Es reicht, das Projekt in Lazarus zu laden und im Objektinspektor die Eventhandler von MainForm zu prüfen. Ich erwarte, dass ich bei den Events jeweils aus einer Liste meiner Eventhandler auswählen kann. Aber alle Eventhandler von MainForm zeigen "keine" an und Lazarus öffnet stat.inc mit einer Fehlermeldung.
- Menü "Werkzeuge -> FPC-Quelltextverzeichnis neu einlsen"
- Das Einstellungsverzeichnis ~/.lazarus komplett löschen (vorher Backup anlegen!)
- Lazarus auf svn-trunk updaten
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: OnPaint feuert nicht
Ich muss zum Beispiel Seit Ubuntu 10.8 immer zuerst diese Funktion aufrufen, bevor die Code-Tools gehen.Menü "Werkzeuge -> FPC-Quelltextverzeichnis neu einlsen"
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: OnPaint feuert nicht
Was heißt denn "immer"? Nach jedem Kaltstart des Systems, nach jedem Start von Lazarus (was ist, wenn Lazarus bereits in einer anderen Instanz läuft), bei jedem neuen Projekt/Formular/Datei...?pluto hat geschrieben:Ich muss zum Beispiel Seit Ubuntu 10.8 immer zuerst diese Funktion aufrufen, bevor die Code-Tools gehen.
Ich weiß ja nicht, was ihr mit eurem Ubuntu immer so macht, aber ich hab auf meinem Netbook vor ein paar Tagen Ubuntu 11.04 installiert und Lazarus sowie den FPC nach http://wiki.lazarus.freepascal.org/Laza ... for_Ubuntu" onclick="window.open(this.href);return false; installiert. Bisher habe ich keine Probleme mit Lazarus.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: OnPaint feuert nicht
Ich habe ein svn up gemacht und ~/.lazarus und /etc/lazarus gelöscht und mit einem frischen Lazarus gestartet. Nun probiere ich svn revision 21121 sowohl auf Windows als auch auf Linux aus. Auf Windows konnte ich mein *.dpk wieder installieren. Aber auf Linux kriegte ich die Fehler:
/usr/local/bin/lazarus/components/codetools/eventcodetool.pas(1012,23) Error: identifier idents no member "UnitName"
eventcodetool.pas versucht TObject.UnitName zu verwenden. Aber meine fpc 2.5.1 Installation hat kein solches Member. I modifizierte eventcodetool.pas und wies ein '' stattdessen zu. Ein weiterer Fehler ist:
/usr/local/bin/lazarus/ide/sourceeditprocs.pas(361,24) Fatal: Syntax error, ":=" expected but "in" found
In sourceeditprocs.pas steht in etwa "for var in type do". Ich glaube, solch eine Syntax existiert nicht in Pascal. I änderte sourceeditprocs.pas auf "for var := Low(type) to High(type) do" . Dann konnte ich mein *.dpk installieren. Beim Compilieren meines Projekts kriegte ich den Fehler, dass FormatSettings.LongMonthNames nicht existiert. Es war früher in SysUtils. An vielen Code Stellen hatte ich LongMonthNames durch FormatSettings.LongMonthNames ersetzt, weil ich früher die Warnung "LongMonthNames is deprecated" gekriegt hab. Nun musste ich FormatSettings. wieder entfernen. Danach konnte ich mein Projekt compilieren. Aber OnPaint feuert immer noch nicht auf Linux und wenn ich versuche, einen Eventhandler von MainForm auszuwählen, sagt die IDE auch wieder "kein". Aber wenn ich den zugewiesenen Eventhandler doppelt clicke, springt die IDE zur richtigen Code Zeile. Ein weiterer Fehler der IDE auf Linux ist, dass sie sich beschwert: "Windows not found". Ich codierte:
uses
{$ifdef Unix}
...
{$else}
Windows,
{$endif}
Aber der Compiler auf Linux versucht nicht, Windows zu verwenden.
/usr/local/bin/lazarus/components/codetools/eventcodetool.pas(1012,23) Error: identifier idents no member "UnitName"
eventcodetool.pas versucht TObject.UnitName zu verwenden. Aber meine fpc 2.5.1 Installation hat kein solches Member. I modifizierte eventcodetool.pas und wies ein '' stattdessen zu. Ein weiterer Fehler ist:
/usr/local/bin/lazarus/ide/sourceeditprocs.pas(361,24) Fatal: Syntax error, ":=" expected but "in" found
In sourceeditprocs.pas steht in etwa "for var in type do". Ich glaube, solch eine Syntax existiert nicht in Pascal. I änderte sourceeditprocs.pas auf "for var := Low(type) to High(type) do" . Dann konnte ich mein *.dpk installieren. Beim Compilieren meines Projekts kriegte ich den Fehler, dass FormatSettings.LongMonthNames nicht existiert. Es war früher in SysUtils. An vielen Code Stellen hatte ich LongMonthNames durch FormatSettings.LongMonthNames ersetzt, weil ich früher die Warnung "LongMonthNames is deprecated" gekriegt hab. Nun musste ich FormatSettings. wieder entfernen. Danach konnte ich mein Projekt compilieren. Aber OnPaint feuert immer noch nicht auf Linux und wenn ich versuche, einen Eventhandler von MainForm auszuwählen, sagt die IDE auch wieder "kein". Aber wenn ich den zugewiesenen Eventhandler doppelt clicke, springt die IDE zur richtigen Code Zeile. Ein weiterer Fehler der IDE auf Linux ist, dass sie sich beschwert: "Windows not found". Ich codierte:
uses
{$ifdef Unix}
...
{$else}
Windows,
{$endif}
Aber der Compiler auf Linux versucht nicht, Windows zu verwenden.
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: OnPaint feuert nicht
Unter Windows gibt es TObject.UnitName und der Compiler versteht "for in do". Ich habe im Moment noch eine mehrdeutige Installation auf Linux: fpc 2.4.0-1 mit Lazarus 0.9.28.2 , welches von Fedora 14 installiert wird und fpc 2.5.1 mit Lazarus 0.9.31 aus svn. Das muss ich bereinigen.
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: OnPaint feuert nicht
Mein Linux System ist jetzt sauber. Es sind nur noch fpc 2.5.1 und Lazarus 0.9.31 da. Aber OnPaint feuert immer noch nicht.