Multiplattform Ressourcen leicht abwandeln?
-
- Beiträge: 142
- Registriert: Sa 30. Jan 2010, 19:35
- OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
- CPU-Target: xxBit
Multiplattform Ressourcen leicht abwandeln?
Hallo,
ich entwickle eine Anwendung mit Lazarus, die auf Windows, Linux und Mac laufen soll. Optisch gibt es schon kleinere Abweichungen, was die Formulare betrifft. So passen konvertierte Schriften manchmal nicht wirklich, ragen über einen Rand heraus, werden umgebrochen, oder nicht umgebrochen usw. Im Programmcode kann man ja jederzeit mit {$ifdef Windows} bzw. Linux bzw. Darwin usw. plattformspezifischen Code schreiben, aber wie geht das im Designer bzw. in der lfm-Textdatei?
ich entwickle eine Anwendung mit Lazarus, die auf Windows, Linux und Mac laufen soll. Optisch gibt es schon kleinere Abweichungen, was die Formulare betrifft. So passen konvertierte Schriften manchmal nicht wirklich, ragen über einen Rand heraus, werden umgebrochen, oder nicht umgebrochen usw. Im Programmcode kann man ja jederzeit mit {$ifdef Windows} bzw. Linux bzw. Darwin usw. plattformspezifischen Code schreiben, aber wie geht das im Designer bzw. in der lfm-Textdatei?
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Multiplattform Ressourcen leicht abwandeln?
IMHO gar nicht. Eine allgemein gültige Lösung wird es sicher nicht geben können, weil auch unter Windows Themes mit z.B. großen Schriftarten eingestellt sein können ("hoher Kontrast").
Ich habe bei meinen Formularen alles verankert (links, oben usw.), habe die Formulare größenveränderlich gemacht und mit Splittern versehen. Einmal eingestellte Größen werden in einer Ini-Datei gespeichert.
Ich habe bei meinen Formularen alles verankert (links, oben usw.), habe die Formulare größenveränderlich gemacht und mit Splittern versehen. Einmal eingestellte Größen werden in einer Ini-Datei gespeichert.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Multiplattform Ressourcen leicht abwandeln?
Autosize und Anchros leisten da ganz gute Arbeit, wenn man die Layouts etwas vorrausschauend aufbaut, braucht man nicht unbedingt unterschiedliche pro Plattform.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Multiplattform Ressourcen leicht abwandeln?
Weitere Möglichkeiten:
- Basis forms für die Haupt-Plattform und inherited forms für weitere Plattformen.
- Basis forms für die Haupt-Plattform und abgewandelte forms mittels diff ähnlichem Werkzeug pflegen.
MSEgui benützt diese Methode in MSEi18n um Sprachmodule zu erzeugen. Dabei können nicht nur Texte sondern auch numerische Werte geändert werden. In MSEgui stellt sich die Notwendigkeit zu plattformabhängigen Anpassungen weniger, da die widgets überall gleich aussehen.
Martin
- Basis forms für die Haupt-Plattform und inherited forms für weitere Plattformen.
- Basis forms für die Haupt-Plattform und abgewandelte forms mittels diff ähnlichem Werkzeug pflegen.
MSEgui benützt diese Methode in MSEi18n um Sprachmodule zu erzeugen. Dabei können nicht nur Texte sondern auch numerische Werte geändert werden. In MSEgui stellt sich die Notwendigkeit zu plattformabhängigen Anpassungen weniger, da die widgets überall gleich aussehen.
Martin
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Multiplattform Ressourcen leicht abwandeln?
Der "Widget Type" fpGUI malt alles selber in Pascal Code. Das ist dann vermutlich vom Umfeld unabhämgig. Allerdings ist LCL/fpGUI noch nicht so ausgereift wie "WIN" oder "GTK2" (von Mac habe ich keine Ahnung). Man kann fpGUI auch ohne LCL verwenden. habe ich aber noch nicht probiert.
Delphi bietet ab XE2 übrigens mit "FireMonkey" auch eine "Widget Type" (keine Ahnung, wie so was bei Embarkadero heißt) an, der unabhängig vom Umfeld immer dasselbe Aussehen produziert. Anscheinend ist das die Zukunft ( Themes / konfigurierbare Desktop-Styles Ade ! )
-Michael
Delphi bietet ab XE2 übrigens mit "FireMonkey" auch eine "Widget Type" (keine Ahnung, wie so was bei Embarkadero heißt) an, der unabhängig vom Umfeld immer dasselbe Aussehen produziert. Anscheinend ist das die Zukunft ( Themes / konfigurierbare Desktop-Styles Ade ! )
-Michael
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Multiplattform Ressourcen leicht abwandeln?
fpGUI kann man derzeit in Lazarus überhaupt noch nicht verwenden, sofern man in der Applikation nicht nur mit nem Button auskommt. MSchnell, hast du das jemals probiert ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- 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: Multiplattform Ressourcen leicht abwandeln?
Was wohl nicht funktioniert, ist die LCL Integration (fpGUI als LCL-Widgetset). Man kann aber sehr wohl fpGUI mit Lazarus verwenden (mit eigenem GUI-Designer).Christian hat geschrieben:fpGUI kann man derzeit in Lazarus überhaupt noch nicht verwenden, sofern man in der Applikation nicht nur mit nem Button auskommt. MSchnell, hast du das jemals probiert ?
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: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Multiplattform Ressourcen leicht abwandeln?
Ja habe ich. Ich habe ein Testprogramm gemacht um die Multi-Threding Fähigkkeit der verschiedenen Widget-Typen zu testen. Da habe ich allerdings tatsächlich Probleme bei fpGUI festgestellt. Aber die mit dem Lazarus/LCL GUI Designer erstellte (nicht sehr komplexe) GUI-Oberfläche funktioniert durchaus. (Ich hänge morgen, wenn ich im Büro bin einen Screenshot an.)Christian hat geschrieben:fpGUI kann man derzeit in Lazarus überhaupt noch nicht verwenden, sofern man in der Applikation nicht nur mit nem Button auskommt. MSchnell, hast du das jemals probiert ?
Den eigenen fpGUI GUI-Designer habe ich nicht ausprobiert.
-Michael