mseide ?

Forum für alles rund um die MSEide und MSEgui
Antworten
pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

mseide ?

Beitrag von pluto »

Hallo,
ich habe mich heute mal wieder mit mseide beschäftigt. Heute ist es mir auch gelungen die Beispiele zu Kompilieren.
Die Komponenten von mseide sind sehr Skinbar. Wie ich gesehen habe. Auf mich wirk das Projekt etwa unübersichtlich. Evlt. kann man sich daran gewöhnen. Ich spiele noch mit dem Gedanken eine weile mal mseide zu nutzen.

Hat einer von euch damit schon Erfahrung gemacht ?
Ich habe mal versucht eine ListView mit Einträgen zu füllen von der IDE aus, aber das ist mir nicht gelungen. Genau sowenig wie ein TMainMenu zu erstellen und zu füllen. Allerdings finde ich den Code-Editor recht intressant. Das MSEide keine PageControl Komponente verwende dafür sondern eine einfache ListBox. Macht auch viel mehr sin. Finde ich.

Z.B. mein PLEditor besteht aus recht vielen einzelnen Dateien. Die alle in einem PageControl zu verwalten ist recht umständlich.

Schade auch das MSEide nur in Englisch gibt :( . Wenn es deutsch währe würde ich mich bestimmt besser zu recht finden.
MFG
Michael Springwald

mse
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 ?

Beitrag von mse »

pluto hat geschrieben:Ich habe mal versucht eine ListView mit Einträgen zu füllen von der IDE aus, aber das ist mir nicht gelungen.

Dies ist nicht vorgesehen.
Genau sowenig wie ein TMainMenu zu erstellen und zu füllen.

Ein tmainmenu im Formular platzieren, die Menukomponente in tmseform.mainmenu auswählen. Die Editierung der menu items geschieht im Object Inspector unter tmainmenu.menu.subitems.
Allerdings finde ich den Code-Editor recht intressant. Das MSEide keine PageControl Komponente verwende dafür sondern eine einfache ListBox. Macht auch viel mehr sin. Finde ich.

Der Code Editor benützt ein ttabwidget, eine der TPageControl verwandte Komponente bei der die Position der tabs einstellbar ist.
Z.B. mein PLEditor besteht aus recht vielen einzelnen Dateien. Die alle in einem PageControl zu verwalten ist recht umständlich.

Da wirst du die Popup Menu Funktion 'Select Page (Ctrl+E)' schätzen, worin die offenen Dateien zur Auswahl alphabetisch gelistet werden. Ein Doppelklick auf einen tab im Editor Fenster verschiebt ihn auf den Anfang der Liste, drag and drop ist ebenfalls möglich.

Schade auch das MSEide nur in Englisch gibt :( . Wenn es deutsch währe würde ich mich bestimmt besser zu recht finden.


Für Fragen zu MSEide+MSEgui gibts die "englischsprachige" Newsgroup:
news://news.grid-sky.com/public.mseide-msegui.talk
Keine Angst, die meisten Teilenehmer können, wie ich, nur sehr beschränkt englisch, die Kommunikation klappt trotzdem irgend wie. Ich befürchte, dass das Thema MSEide+MSEgui hier unerwünscht ist.

Martin
Zuletzt geändert von mse am So 19. Okt 2008, 17:44, insgesamt 1-mal geändert.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: mseide ?

Beitrag von pluto »

Fragen schadet ja nicht oder ? Aber ich weiß auch noch nicht ob ich mich damit genauer beschäftigen sollte !
MFG
Michael Springwald

mse
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 ?

Beitrag von mse »

pluto hat geschrieben:Fragen schadet ja nicht oder ? Aber ich weiß auch noch nicht ob ich mich damit genauer beschäftigen sollte !

Solltest du unbedingt. ;-)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: mseide ?

Beitrag von pluto »

Ich finde das konzept von der IDE recht seltsam aber auch gleichzeig Interessant !

Vorallem die Skinbar Funktion.
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: mseide ?

Beitrag von monta »

mse hat geschrieben:Keine Angst, die meisten Teilenehmer können, wie ich, nur sehr beschränkt englisch, die Kommunikation klappt trotzdem irgend wie. Ich befürchte, dass das Thema MSEide+MSEgui hier unerwünscht ist.


Keines falls, MSE baut schließlich auch auf Freepascal auf, und die beiden Projekte können letztlich auch gegenseitig teilweise lernen.
Wir können auch gern ein MSEide Unterforum hier noch rein machen.

@mse: Was mir jetzt erst auffällt...ist die ähnlichkeit MSEide zufällig?
Johannes

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: mseide ?

Beitrag von theo »

monta hat geschrieben:@mse: Was mir jetzt erst auffällt...ist die ähnlichkeit MSEide zufällig?


Blitzmerker! ;-)
Der haut ja auch ganz schön auf die Werbetrommel, der Martin.... :-)

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: mseide ?

Beitrag von monta »

ich hab halt etwas länger gebraucht ;)
Johannes

mse
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 ?

Beitrag von mse »

monta hat geschrieben:Wir können auch gern ein MSEide Unterforum hier noch rein machen.

@mse: Was mir jetzt erst auffällt...ist die ähnlichkeit MSEide zufällig?

Nein, dies ist kein Zufall, ich bin der Autor von MSEide+MSEgui. Ein eigenes Unterforum für MSEide+MSEgui hier wäre eine feine Sache.

Martin

mschnell
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 ?

Beitrag von mschnell »

mse hat geschrieben: Ein eigenes Unterforum für MSEide+MSEgui hier wäre eine feine Sache.

Nette idee !.

Ich habe vor geraumer Zeit einmal mseide installiert, bin aber - sicherlich magels genügend investierter Zeit meine eigene Schuld ! - nicht sehr weit gekommen und schon an einem "Hello world" gescheitert.

Ich habe das Englische MSE Forum zu Hause abonniert und es ist ja seit einiger Zeit _sehr_ aktiv . Hatte aber keine Zeit die Beiträge zu lesen :(.

Schön wäre, wenn Lazarus einiges von MSEIDE übernehmen könnte (ist ja beides GPL oder so). Für mich sehr interessant wäre das Assembler -Debug Fenster (wie ich schon vor drei/vier Jahren 'mal gewünscht hatte).

-Michael

Euklid
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: mseide ?

Beitrag von Euklid »

mse hat geschrieben:Ich befürchte, dass das Thema MSEide+MSEgui hier unerwünscht ist.


Unsinn - Glaube wir sind alle keine Monopolisten. ;)
Wusste garnicht, dass es sowas gibt - interessanter Ansatz. ...werde MSEide/-gui im kommenden Monat mal ausgiebig testen.

Wenn ich es richtig verstanden habe, gibt es zwei maßgebliche Unterschiede zu Lazarus(?):
1. Relativ zur VCL werden eigene Wege begangen.
2. MSE*** greift direkt auf X11 zurück.

mse
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 ?

Beitrag von mse »

mschnell hat geschrieben:Ich habe vor geraumer Zeit einmal mseide installiert, bin aber - sicherlich magels genügend investierter Zeit meine eigene Schuld ! - nicht sehr weit gekommen und schon an einem "Hello world" gescheitert.

Vermutlich bist du bei der Installation nicht den Anweisungen in README.TXT oder
http://www.homepage.bluewin.ch/msegui/
gefolgt. Eine übliche Unterlassung ist, lediglich die *_bin.zip Datei zu installieren, dadurch entsteht eine "natürliche Auslese" der MSEide+MSEgui Benutzer. ;-)
Euklid hat geschrieben:Wenn ich es richtig verstanden habe, gibt es zwei maßgebliche Unterschiede zu Lazarus(?):
1. Relativ zur VCL werden eigene Wege begangen.
2. MSE*** greift direkt auf X11 zurück.

3. MSEgui arbeitet durchgängig mit widestrings statt mit utf-8 codierten ansistrings.
4. Pro top level window wird lediglich ein window handle angelegt, die VCL Unterscheidung zwischen TWinControl und TGraphicControl gibt es nicht.

Falls euch etwas Hintergrund interessiert:
Zu Delphi 1 Zeiten machte ich, um meine Produktivität zu erhöhen, ein erstes auf den Delphi 16Bit Komponenten beruhendes GUI-Framework. Durch die Delphi Umstellung auf 32Bit wurden grosse Teile obsolet daher erfolgte ein Neubau auf Grundlage der 32Bit VCL Komponenten.
Beim Erscheinen von Kylix 1 machte ich erste Versuche mit einer cross platform Lösung. Als Kylix 3 erschien, dachte ich, das Produkt sei nun sicher ausgereift und in einer brauchbaren Verfassung. Etwas zu Denken gab mir der Umstand, dass die Qt C++ Bibliothek zuerst auf ein flaches C interface umgesetzt, dann auf Pascal gelinkt und zuletzt auf das VCL ähnliche CLX umgebogen wurde. Zu dieser Zeit dachte ich noch, "Borland weiss schon was es tut", eine Irrtum, wie sich herausstellen sollte.
Qt ist übrigens ein ausgezeichnetes Framework welches ich immer sehr geschätzt habe.
Nun hatte ich täglich mindestens einen Bug in der CLX zu finden und mittels workarounds zu umgehen, es befinden sich etwa 200 Einträge auf meiner Bugliste. Gegen 100 habe ich mit grossem Aufwand dokumentiert und ins Borland/Inprise Qualitätssystem eingespeist - kein einziger wurde repariert.
Dieses Erlebnis und die Einstellung von Kylix durch Inprise/Borland überzeugte mich davon, dass die Softwarewerkzeugindustrie aus Systemgründen nicht dazu in der Lage ist, die von den Entwicklern benötigten Werkzeuge zur Verfügung zu stellen. Ein Softwareentwicklungswerkzeug muss sich über Jahre und Jahrzehnte entwickeln und darf nicht von den durch Boni, Quartalsabschlüssen und shareholder value geprägten Entscheidungen der Firmenmanager abhängen.
Daher entschloss ich mich, ein viertes mal von vorne zu beginnen, nun alles selbst zu machen und das Projekt als Open Source zu führen als es einen brauchbaren Stand erreichte. Schon bald wurden mit MSEide+MSEgui "echte" professionelle Projekte durchgeführt. Die Erfahrungen der Anwender flossen umgehend in die Entwicklung ein, hartnäckig wurden design flaws ausgemerzt, die Geschichte ist in
news://news.grid-sky.com/public.mseide-msegui.talk
nachzulesen. Alle Beiträge der news group sind noch vorhanden, aktuell sind es über 13'000.

Nun also viel Spass mit MSEide+MSEgui!

Martin

Hitman
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 ?

Beitrag von Hitman »

Das verdient definitiv jede Menge respekt. Ich habe auch schon ein paar mal mit MSEgui gearbeitet. Leider schreckt mich immer wieder der all-lowercase-codestyle ab :-/ Aber diesbezüglich sind nunmal Geschmäcker verschieden :-)

mse
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 ?

Beitrag von mse »

Hitman hat geschrieben:Das verdient definitiv jede Menge respekt. Ich habe auch schon ein paar mal mit MSEgui gearbeitet. Leider schreckt mich immer wieder der all-lowercase-codestyle ab :-/ Aber diesbezüglich sind nunmal Geschmäcker verschieden :-)

:-)
Nun, der Codierstil ist nicht nur Geschmacksache. Ich habe meinen Pascal Codierstil in den letzten 25 Jahren 3 mal geändert, letztmals vor etwa 10 Jahren, für mich scheint das Optimum erreicht zu sein.
Warum ich den grössten Teil des Codes in Kleinschreibung halte:
Versuche haben ergeben, dass das Gehirn zur Begriffsbildung Wörter nicht von links nach rechts Zeichen für Zeichen liest, sondern als ganzes. Interessanterweise kommt es dabei nicht sehr auf die Reihenfolge der Buchstaben an, sofern nur das erste und das letzte Zeichen ihre Position behalten. Mach mal ein paar Versuche, die Resultate sind verblüffend.
Durch die Höckerschreibweise zerfällt nun ein Bezeichner in mehrere Begriffe, wodurch das Gehirn in der Modellbildung des gesehene Codes behindert wird, auf jeden Fall meines. ;-)
Noch schlimmer ist die häufig in C anzutreffende ungarische Notation, wo der wichtigste Bereich des Bezeichners für unnötige und behindernde Information verschwendet wird. Selbstverständlich sieht Höckerschreibweise viel schöner aus, dies hat aber mit der Lesbarkeit durch den schwergeprüften Berufsprogrammierer nichts zu tun.
Wichtig ist auch, dass gleiche Strukturen immer gleich aussehen. Beispielsweise gibts in MSEgui nur eine Form des if then else nämlich:

Code: Alles auswählen

 
if xxx = yyy then begin
end
else begin
end;
 

Die Einrückung beträgt lediglich ein Zeichen, dadurch sind weniger Zeilenumbrüche notwendig und am Ende einer Programmstruktur kann ein fehlendes end durch den Bruch der Diagonalen leicht erkannt werden. Und so weiter...

Martin

Hitman
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 ?

Beitrag von Hitman »

Das ist erstaunlich gut begründet. Hätte es eher für subjektive Präferenz gehalten, aber es steckt ja durchaus viel System dahinter. Naja ich bin halt stark an den Borland-Style gewöhnt ("TMyObject = class(TObject)") und rücke auch lieber zwei Zeichen ein, um die Einrückung selbst signifikanter zu machen.
Falls ich mal über diese oberflächliche Betrachtung (die inneren Werte zählen schließlich :D) hinwegkomme, werd ich bestimmt mal mehr mit MSEgui arbeiten.
Danke für die ausführlichen Erläuterungen (auch die Geschichte hinter MSEgui/ide war interessant zu lesen und ist interessant zu wissen).

Antworten