Hy @ all
Habe folgendes Problem.
Hab ein Gui auf Windows XP erstellt und dann das Projekt zuhause in Linux erstellt.
Habe nun festgestellt, das das Style etwas anders ist (ist aber auch ok), da es ja auf GTK läuft.
Nur was mich stört, ist das z.b. Dropdownboxen aufgehen dann aber hängen bleiben (siehe Bild).
Wenn ich jetzt aber ein neues Programm mache und die selbe Komponente draufgebe funktioniert es einwandfrei.
Kann mir wer sagen wie ich dieses Problem lösen kann, da ich die Anwendung für Windows und Linux erstellen möchte.
Thx
Verhalten von Komponenten unter Linux anders
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: Verhalten von Komponenten unter Linux anders
Hallo und willkommen im Deutschen Lazarus-Forum!
Ich würde dir empfehlen, deine Anwendungen für gtk2 zu kompilieren. Das ist nicht nur aktueller sondern sieht meiner Ansicht nach auch besser aus
Zudem ist es sehr unwahrscheinlich, dass dort ebenfalls das von dir geschilderte Problem auftritt.
Um deine Anwendung für gtk2 zu kompilieren, gehst du einfach in das Menü Projekt-->Compilereinstellungen und setzt dort das Widgetset auf gtk2. Bei vielen Linux-Systemen musst du über das Paketverwaltungsprogramm die "devel"-Pakete von gtk2 installieren (ich glaube, es reicht das Paket libgtk2.0-dev (Ubuntu/Debian)).
Tipp: Über Werkzeuge --> "Lazarus kompilieren" einrichten kannst du sogar ganz Lazarus für gtk2 kompilieren.
Nun hierzu:
Viele Grüße, Euklid
Ich würde dir empfehlen, deine Anwendungen für gtk2 zu kompilieren. Das ist nicht nur aktueller sondern sieht meiner Ansicht nach auch besser aus

Zudem ist es sehr unwahrscheinlich, dass dort ebenfalls das von dir geschilderte Problem auftritt.
Um deine Anwendung für gtk2 zu kompilieren, gehst du einfach in das Menü Projekt-->Compilereinstellungen und setzt dort das Widgetset auf gtk2. Bei vielen Linux-Systemen musst du über das Paketverwaltungsprogramm die "devel"-Pakete von gtk2 installieren (ich glaube, es reicht das Paket libgtk2.0-dev (Ubuntu/Debian)).
Tipp: Über Werkzeuge --> "Lazarus kompilieren" einrichten kannst du sogar ganz Lazarus für gtk2 kompilieren.
Nun hierzu:
Nach meinem Ermessen handelt es sich hier um einen Bug im gtk-Widgetset. Nach deiner Schilderung tritt er offenbar nicht immer auf, sondern nur unter bestimmten Bedingungen. Wenn du es schaffst herauszukristallisieren, was speziell an deiner Form diesen Bug mitverursacht, können wir einen Bugreport machen - dann wird er demnächst behoben.diablo75 hat geschrieben:Nur was mich stört, ist das z.b. Dropdownboxen aufgehen dann aber hängen bleiben (siehe Bild).
Viele Grüße, Euklid
-
- Beiträge: 11
- Registriert: Mo 21. Sep 2009, 23:30
- OS, Lazarus, FPC: Windows/Mac L 2.2.4 FPC 3.2.2
- CPU-Target: xxBit
- Wohnort: Wien
Re: Verhalten von Komponenten unter Linux anders
hab schon probiert gtk2 zu verwenden kommt aber die Fehlermeldung:
/usr/lib/fpc/2.2.2/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_FILE_SYSTEM_ERROR$$LONGWORD':
gtk2.pas:(.text+0xb7b1): undefined reference to `gtk_file_system_error_quark'
/usr/lib/fpc/2.2.2/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_INFO$$LONGWORD':
gtk2.pas:(.text+0xb7c1): undefined reference to `gtk_file_info_get_type'
/usr/lib/fpc/2.2.2/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_SYSTEM$$LONGWORD':
gtk2.pas:(.text+0xb7d1): undefined reference to `gtk_file_system_get_type'
/usr/lib/fpc/2.2.2/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_FOLDER$$LONGWORD':
gtk2.pas:(.text+0xb851): undefined reference to `gtk_file_folder_get_type'
project1.lpr(20,1) Error: Error while linking
project1.lpr(20,1) Fatal: There were 1 errors compiling module, stopping
hab auch schon nach libgtk2.0-dev gesucht aber kein paket zum installieren gefunden. Wo bekomme ich das her?
p.s hab Mandriva 2009
/usr/lib/fpc/2.2.2/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_FILE_SYSTEM_ERROR$$LONGWORD':
gtk2.pas:(.text+0xb7b1): undefined reference to `gtk_file_system_error_quark'
/usr/lib/fpc/2.2.2/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_INFO$$LONGWORD':
gtk2.pas:(.text+0xb7c1): undefined reference to `gtk_file_info_get_type'
/usr/lib/fpc/2.2.2/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_SYSTEM$$LONGWORD':
gtk2.pas:(.text+0xb7d1): undefined reference to `gtk_file_system_get_type'
/usr/lib/fpc/2.2.2/units/i386-linux/gtk2/gtk2.o: In function `GTK2_GTK_TYPE_FILE_FOLDER$$LONGWORD':
gtk2.pas:(.text+0xb851): undefined reference to `gtk_file_folder_get_type'
project1.lpr(20,1) Error: Error while linking
project1.lpr(20,1) Fatal: There were 1 errors compiling module, stopping
hab auch schon nach libgtk2.0-dev gesucht aber kein paket zum installieren gefunden. Wo bekomme ich das her?
p.s hab Mandriva 2009
-
- Beiträge: 688
- Registriert: Mi 3. Okt 2007, 21:00
- OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
- CPU-Target: x86_64
Re: Verhalten von Komponenten unter Linux anders
Ja, die Namen der Pakete zwischen Mandriva und Debian sind etwas unterschiedlich...
Du solltest Lazarus 0.9.28b, welches bald fertig ist benutzen. (Oder aber einen aktuellen Snapshot davon)
Außerdem, wenn du den Fehler nicht haben willst, solltest du mindestens FPC 2.2.4-3 installieren.
(Der Fehler zeigt auch, dass du die GTK+-libs schon installiert hast)
Du solltest Lazarus 0.9.28b, welches bald fertig ist benutzen. (Oder aber einen aktuellen Snapshot davon)
Außerdem, wenn du den Fehler nicht haben willst, solltest du mindestens FPC 2.2.4-3 installieren.
(Der Fehler zeigt auch, dass du die GTK+-libs schon installiert hast)
-
- Beiträge: 11
- Registriert: Mo 21. Sep 2009, 23:30
- OS, Lazarus, FPC: Windows/Mac L 2.2.4 FPC 3.2.2
- CPU-Target: xxBit
- Wohnort: Wien
Re: Verhalten von Komponenten unter Linux anders
Thx hab die neue Version installiert und funktioniert alles super.
-
- Beiträge: 205
- Registriert: So 2. Dez 2007, 20:47
- OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
- CPU-Target: xxBit
- Wohnort: Schweiz
Re: Verhalten von Komponenten unter Linux anders
Gilt das auch für das Portieren auf Mac?
Peter
Peter