MSEide+MSEgui 2.2 für FPC 2.4
-
- 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
MSEide+MSEgui 2.2 für FPC 2.4
MSEide+MSEgui Version 2.2 für FPC 2.4 wurde freigegeben:
http://sourceforge.net/projects/mseide-msegui/files/" onclick="window.open(this.href);return false;
Neu gibt es auch eine experimentelle Version für x86_64-linux.
Viel Spass!
Martin
http://sourceforge.net/projects/mseide-msegui/files/" onclick="window.open(this.href);return false;
Neu gibt es auch eine experimentelle Version für x86_64-linux.
Viel Spass!
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: MSEide+MSEgui 2.2 für FPC 2.4
WOW !!!!
FPC 2.4 ist doch gerade erst ein paar Tage 'raus....
Wann wohl Lazarus damit "offiziell" läuft ?
(Wie) benutzt MSEGUI die neuem Unicode-tauglichen, dynmaischen Strings ? (laut FPC-Wiki sind die doch noch nicht ganz fertig) ?
Gruß und viel Erfolg in 2010 !
-Michael
FPC 2.4 ist doch gerade erst ein paar Tage 'raus....
Wann wohl Lazarus damit "offiziell" läuft ?
(Wie) benutzt MSEGUI die neuem Unicode-tauglichen, dynmaischen Strings ? (laut FPC-Wiki sind die doch noch nicht ganz fertig) ?
Gruß und viel Erfolg in 2010 !
-Michael
-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
Es gibt die SVN fixes_* branches, da kann man sich schön auf ein neues release vorbereiten.mschnell hat geschrieben:WOW !!!!
FPC 2.4 ist doch gerade erst ein paar Tage 'raus....

MSEgui benützt für Unicode widestrings, welche in FPC schon seit Jahren funktionieren. Neu steht nun in FPC 2.4 der UnicodeString Typ zur Verfügung, ein auf allen Plattformen Referenz-gezählter widestring. MSEgui 2.2 hat standardmässig msestring = UnicodeString definiert. Eine Zeit lang war war in FPC für Windows kein Referenz-gezählter widestring vorhanden, was zu einer gewissen Performance-Einbusse unter Windows führte, dieses Manko ist nun behoben.(Wie) benutzt MSEGUI die neuem Unicode-tauglichen, dynmaischen Strings ? (laut FPC-Wiki sind die doch noch nicht ganz fertig) ?
-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
Lazarus wird wohl mit der nächsten Release-Version den FPC 2.4 als Standard empfehlen (und in den Packages mitliefern). Aber schon jetzt besitzt die svn-Trunk-Version die Möglichkeit in den Projekt-Optionen unter "Diverses" auf die "FPC resources" umzustellen (anstatt Lazarus-resources).mschnell hat geschrieben:WOW !!!!
FPC 2.4 ist doch gerade erst ein paar Tage 'raus....
Wann wohl Lazarus damit "offiziell" läuft ?
(Wie) benutzt MSEGUI die neuem Unicode-tauglichen, dynmaischen Strings ? (laut FPC-Wiki sind die doch noch nicht ganz fertig) ?
Gruß und viel Erfolg in 2010 !
-Michael
Inwiefern werden denn von MSEgui die neuen resourcen benutzt? Und werden die Formulare auch nach jeder Änderung gespeichert und neu in Resourcen-Dateien übersetzt (Lazarus vergisst das derzeit immer)?
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: MSEide+MSEgui 2.2 für FPC 2.4
Gut !mse hat geschrieben:Neu steht nun in FPC 2.4 der UnicodeString Typ zur Verfügung, ein auf allen Plattformen Referenz-gezählter widestring. MSEgui 2.2 hat standardmässig msestring = UnicodeString definiert.
D.h. der dynamisch typisierte String-Type (mit "Bytes/character" Byte und "code" Word, wie beim aktuellen Delphi) wird momentan nicht benutzt...
-Michael
-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
MSEgui benutzt ein eigenes Ressourcen-System. Fomulare werden als *.mfm Dateien im Text-Objekt-Format gespeichert, diese entsprechen den Delphi *.dfm und den Lazarus *.lfm Dateien. MSEide erzeugt daraus spezielle Pascal units die von FPC kompiliert werden. Beispiel:socke hat geschrieben: Inwiefern werden denn von MSEgui die neuen resourcen benutzt? Und werden die Formulare auch nach jeder Änderung gespeichert und neu in Resourcen-Dateien übersetzt (Lazarus vergisst das derzeit immer)?
Code: Alles auswählen
unit main_mfm;
{$ifdef FPC}{$mode objfpc}{$h+}{$endif}
interface
implementation
uses
mseclasses,main;
const
objdata: record size: integer; data: array[0..35323] of byte end =
(size: 35324; data: (
84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13,
111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114,
114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,
[...]
112,114,111,99,100,105,101,100,4,108,101,102,116,2,16,3,116,111,112,2,
88,0,0,0)
);
initialization
registerobjectdata(@objdata,tmainfo,'');
end.
-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
Die Grundform dieses strings ist ebenfalls der referenzgezählte widestring, alle Code-Konvertierungen laufen über widestring. 8-Bit strings der form String<Codepage> oder AnsiString sollten nach Möglichkeit aus Performancegründen vermieden werden, da sie mehr Overhead benötigen, speziell im Zusammenhang mit RawByteString. Dies gilt leider auch für UTF8String. Für das Ergebnis einiger Experimente siehemschnell hat geschrieben: D.h. der dynamisch typisierte String-Type (mit "Bytes/character" Byte und "code" Word, wie beim aktuellen Delphi) wird momentan nicht benutzt...
http://www.mail-archive.com/fpc-devel@l ... 15579.html
Zu beachten ist noch der Speicherbedarf, 'a' benötigt auf 64 Bit Systemen bereits 25 Bytes:
http://www.mail-archive.com/fpc-devel@l ... 15500.html
Dazu kommen noch weitere Bytes zum memory alignment und im memory manager.
Schöne Neue Welt.

-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
Das Heißt, MSEGUI würde die volle Funktionalität der dynamisch codierten Strings auch nicht verwenden, wenn sie in FPC vollständig implementiert wären, sondern defaultmäßig generell UTF16 codierten Strings definieren.
Richtig ?
Und wenn unter Linux eine UTF8 API zu GTK 2 (oder wie das Ding heißt) verwendet wird gibt das tatsächlich keine Performance-Probleme, obwohl jede GUI Aktion eine Konvertierung fordert ?
-Michael
Richtig ?
Und wenn unter Linux eine UTF8 API zu GTK 2 (oder wie das Ding heißt) verwendet wird gibt das tatsächlich keine Performance-Probleme, obwohl jede GUI Aktion eine Konvertierung fordert ?
-Michael
Zuletzt geändert von mschnell am Mo 4. Jan 2010, 10:12, insgesamt 1-mal geändert.
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: MSEide+MSEgui 2.2 für FPC 2.4
MSEgui ist ja ein eigenes "Widgetset" ... was willst du da mit GTK2?mschnell hat geschrieben:Und wenn unter Linux eine UTF8 API zu GTK 2 (oder wie das Ding heißt) verwendet wird gibt das tatsächlich keine Performance-Probleme, obwohl jede GUI Aktion eine Konvertierung fordert ?

-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
MSEgui würde vermutlich UnicodeString (die Grundform der "dynamisch codierten Strings") verwenden. Die Grundcodierung dieser Strings ist utf-16. Noch besser wäre natürlich die Beibehaltung des jetzigen FPC UnicodeString ohne den nicht benötigten Laufzeit-overhead.mschnell hat geschrieben:Das Heißt, MSEGUI würde die volle Funktionalität der dynamisch codierten Strings auch nicht verwenden, wenn sie in FPC vollständig implementiert wären, sondern defaultmäßig generell bei UTF16 codierten Strings definieren.
MSEgui verwendet unter Linux keine utf-8 API sondern die utf-16 X11/xft API.Und wenn unter Linux eine UTF8 API zu GTK 2 (oder wie das Ding heißt) verwendet wird gibt das tatsächlich keine Performance-Probleme, obwohl jede GUI Aktion eine Konvertierung fordert ?
Meines Wissens ist GTK2 übrigens die einzige utf-8 API. Windows, Qt und MAC verwenden utf-16. Bitte korrigiert mich, falls ich falsch liegen sollte.
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: MSEide+MSEgui 2.2 für FPC 2.4
Ich wusste nicht, dass GTK2 überhaupt eine utf-16 API zur Verfügung stellt. Aus anderen Diskussionen hier im Lazarus-Forum hatte die militanten utf-8-Fraktion bei mir den Eindruck GTK2 (und eigentlich jede Linux GUI) kann nur utf-8. Wenn es eine UTF-8 und eine UTF-16 API gibt, wäre die Frage, ob die Performance vergleichbar ist.mse hat geschrieben:MSEgui verwendet unter Linux keine utf-8 API sondern die utf-16 X11/xft API.
Ich habe da keine weitergehenden Informationenmse hat geschrieben:Meines Wissens ist GTK2 übrigens die einzige utf-8 API. Windows, Qt und MAC verwenden utf-16. Bitte korrigiert mich, falls ich falsch liegen sollte.

-Michael
-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
Die "Linux GUI-Schnittstelle" ist X11/xft welche beide sowohl utf-8 als auch utf-16 API's haben. GTK2 hat damit nichts zu tun. Häufig wird irgendwo in der Funktions-Kette sowieso auf UCS4 gewandelt, ob utf-8 oder utf-16 verwendet wird, ist daher zweitrangig. utf-16 <-> UCS4 dürfte etwas schneller sein.mschnell hat geschrieben:Ich wusste nicht, dass GTK2 überhaupt eine utf-16 API zur Verfügung stellt. Aus anderen Diskussionen hier im Lazarus-Forum hatte die militanten utf-8-Fraktion bei mir den Eindruck GTK2 (und eigentlich jede Linux GUI) kann nur utf-8. Wenn es eine UTF-8 und eine UTF-16 API gibt, wäre die Frage, ob die Performance vergleichbar ist.
Die Standard Codierung heutiger Linux-Distributionen ist meist utf-8. Dateinamen sind unter Linux nicht unbedingt utf-8 sondern ein array of bytes ohne Codierung. Auch hier bringt utf-8 keine grossen Vorteile, das Theater mit ungültigen utf-8 Sequenzen in Dateinamen hat man in beiden Fällen.
-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
Was soll das heißen ? Die Codierung von welchen Daten ? Was hat die Distribution damit zu tun ?mse hat geschrieben:Die Standard Codierung heutiger Linux-Distributionen ist meist utf-8.
-Michael
-
- 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: MSEide+MSEgui 2.2 für FPC 2.4
Die LC_LANG Einstellungen, Codierung der script, man und info files, die Standard-Codierung in Terminals und Filesystem, was weiss ich...mschnell hat geschrieben:Was soll das heißen ? Die Codierung von welchen Daten ?mse hat geschrieben:Die Standard Codierung heutiger Linux-Distributionen ist meist utf-8.
Sie gibt die entsprechenden Einstellungen vor.Was hat die Distribution damit zu tun ?
-
- Beiträge: 33
- Registriert: So 13. Dez 2009, 16:17
Re: MSEide+MSEgui 2.2 für FPC 2.4
Ihr seids wirklich verdamt schnell! Ich werd mir dieses Projekt genauer anschaun.
Mischen Sie Sich ein! Machen Sie mit! ödp www.ödp.de - Die Öko-Demokraten