Einige Fragen zu MSEGUI/IDE

Forum für alles rund um die MSEide und MSEgui
Antworten
Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Einige Fragen zu MSEGUI/IDE

Beitrag von Soner »

Hallo Martin,
ich habe heute dein MSEGUI länger als sonst angesehen vieles gefällt mir. Schade das du bei einigen Sachen komplett anders benannt hast, obwohl sie gleich wie bei VCL/LCL sind. Bei OpenDialog.Filename muss man auf die Idee kommen tfiledialog1.controller.filename zu benutzen :) Schwamm drüber.
Es ist super wie schnell und einfach die Programme reagieren. Sogar das MouseWheel-Ereignis reagiert richtiger als VCL/LCL, mann muss nicht unbedingt klicken sondern es reagiert wenn Mauszeiger drüber ist. Super gemacht. Betriebssystemabhängige Standarddialoge kann ich selber hinzufügen, damit Benutzer es leichter haben das ist auch kein Problem.

Um MSEGUI zu testen, habe ich mir Vorgenommen eines meine Programme zu MSEGUI zu konvertieren (mit MSEGUI neuschreiben).
- In mein Programm gibt es ein Hauptformular, das andere Formulare als Tab hinzufügt. Einige Formular dürfen nur einmal erstellt werden, deshalb muss ich wissen ob sie freigegeben sind und die Variablen für diese Formulare auf Nil setzen. Dafür benutze ich Hauptformulars Notification-Prozedur (TControl.Notification).
Hast du etwas ähnliches in dein Bibliothek? Also eine Prozedur, die aufgerufen wird wenn Kinder entfernt werden.
-SQLite, DB-Controls, StringGrid, Report hast du in MSEGUI, ich muss nur schauen wie ich die verwenden kann.
-Ich verwende oft ActionLists, gibt es das in MSEGUI oder ist taction von MSEGUI dafür vorgesehen?
-Gibt es keine Align-Eigenschaft bei MSEGUI, muss man nur mit Msegui.Anchors-Eigenschaft die Komponent ausrichten?
-Gibt es eine Vergrößerungsfilter für Bilder oder muss man das selber machen? Bei timage sehen die vergrößerten Bilder pixelig aus wie bei LCL/VCL.

Schade das der Editor von MSEIDE keine autovervolständigen Funktion hat. Mit Autovervollständigen kann man immer nachschauen welche Funktion eine Klasse bietet, ohne Quelltext zu öffnen. Der Debugger in der IDE ist auch nicht so komfortabel wie bei Lazarus, werde versuchen MSEgui mit Lazarus zu benutzen (Quelltexte schreiben teil ;) ).
Da ich MSEgui/MSEide nur ein Paar Stunden benutzt habe, habe ich vielleicht vieles nicht gesehen, die es wahrscheinlich gibt.
Ich glaube ich werde als erstes mein Bildbetrachter konvertieren das ist einfacher als Datenbankprogramm.

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: Einige Fragen zu MSEGUI/IDE

Beitrag von mse »

Soner hat geschrieben:Hallo Martin,
ich habe heute dein MSEGUI länger als sonst angesehen vieles gefällt mir. Schade das du bei einigen Sachen komplett anders benannt hast, obwohl sie gleich wie bei VCL/LCL sind. Bei OpenDialog.Filename muss man auf die Idee kommen tfiledialog1.controller.filename zu benutzen :) Schwamm drüber.

"controller" property wird in MSEgui benutzt, um gemeinsame Funktionen mehrerer Komponenten zu vereinheitlichen. tfiledialogcontroller wird zum Bespiel auch in tfilenameedit verwendet.

- In mein Programm gibt es ein Hauptformular, das andere Formulare als Tab hinzufügt.

Da bietet sich ttabform an: 'File'-'New'-'Form'-'Tabform'. ttabform lässt sich direkt als tab in ttabwidget verwenden.
Einige Formular dürfen nur einmal erstellt werden, deshalb muss ich wissen ob sie freigegeben sind und die Variablen für diese Formulare auf Nil setzen. Dafür benutze ich Hauptformulars Notification-Prozedur (TControl.Notification).
Hast du etwas ähnliches in dein Bibliothek? Also eine Prozedur, die aufgerufen wird wenn Kinder entfernt werden.

Wenn du zur Zuweisung tmsecomponent.setlinkedvar() oder andere setlinkedvar() Varianten verwendest, werden die Instanzvariablen bei der Zerstörung der Instanz automatisch NIL-gesetzt.

-Ich verwende oft ActionLists, gibt es das in MSEGUI oder ist taction von MSEGUI dafür vorgesehen?

ActionList gibt es nicht, benütze bitte taction.
-Gibt es keine Align-Eigenschaft bei MSEGUI, muss man nur mit Msegui.Anchors-Eigenschaft die Komponent ausrichten?

Nein, Ja. Weiter gibt es tsplitter, tspacer und tlayouter.
-Gibt es eine Vergrößerungsfilter für Bilder oder muss man das selber machen? Bei timage sehen die vergrößerten Bilder pixelig aus wie bei LCL/VCL.

Aktiviere bitmap.alignment al_intpol.
Schade das der Editor von MSEIDE keine autovervolständigen Funktion hat. Mit Autovervollständigen kann man immer nachschauen welche Funktion eine Klasse bietet, ohne Quelltext zu öffnen.

Autovervollständingung ist immer das Erste was ich in einer IDE Ausschalte. Ich benütze hauptsächlich code Navigation mit Ctrl+LeftClick und Shift+Ctrl+Space hinter der Klammer für Parameter. Die dursuchten Quell-Verzeichnisse müssen in 'Project'-'Options'-'Debugger'-'Source directories' aufgeführt werden.
Vor einigen Jahren habe ich versprochen etwas für Autovervollständigung zu tun, wenn die MSEide+MSEgui Anwender eine signifikante Anstrengung zur Dokumentation oder so an den Tag legen. Es ist nichts passiert und nun fühle ich mich an dieses Versprechen nicht mehr gebunden.
Ich glaube ich werde als erstes mein Bildbetrachter konvertieren das ist einfacher als Datenbankprogramm.

Da empfehle ich die master Version vom git zu verwenden:
https://gitorious.org/mseide-msegui
Die hat GraphicsMagick Integration http://www.graphicsmagick.org/
Wenn du msemagickstream in uses aufnimmst, kannst du mit readgraphic() aus msegraphicstream alle Formate laden, die GM untestützt und blitzschnell thumbnails erzeugen.

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: Einige Fragen zu MSEGUI/IDE

Beitrag von mse »

Soner hat geschrieben: Betriebssystemabhängige Standarddialoge kann ich selber hinzufügen, damit Benutzer es leichter haben das ist auch kein Problem.

Wenn du magst kannst du die neuen Dialoge gerne in MSEuniverse veröffentlichen.

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Einige Fragen zu MSEGUI/IDE

Beitrag von Soner »

Danke für die Antworten,
Ich werde das alles in den nächsten Tagen ausprobieren. Bitmap-Vergrößerungfilter habe ich gleich benutzt, Darstellungsqualität und Geschwindigkeit finde ich sehr gut gelunden. ImageMagick brauche ich nicht, weil ich erstmal MSEgui kennen lernen will.
Ich hätte MSEgui gestern nicht herunterladen sollen :) Die Nacht durch bis früh morgen herum probiert, ein Db-Beispielprogamm erstellt, hab' viel Zeit damit verbracht, die Ich eigentlich an mein Hauptprogramm verbringen sollte. Es scheint so alsob MSEgui das was ich gesucht habe, muss aber vieles noch probieren, wenn ich Zeit habe.

tsplitter, tspacer und tlayouter klingen gut, hab' gesehen aber noch nicht verwendet.

Autovervollständigen muss ja nicht dauernd mit laufen bzw protokollieren. Genau wie Paramaterinfobox, das beim klicken von Ctrl+Shift+Space erscheint, kann auch nur beim Druck von Strg+Space ein Infoxbox erscheinen und Möglichkeiten anbieten. Naja egal ich werde diesmal ohne Vorurteile und Erwartungen das Ganze anschauen.

Antworten