Lazaruspackage für msegui

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

Lazaruspackage für msegui

Beitrag von Soner »

Ich habe Lazaruspackage für msegui erstellt, nein damit kann man nicht Lazarus mit msegui kompilieren :-)
Damit kann man in Lazaruseditieren und mit mseide Formulare designen, kurzes liesmich.txt liegt bei.

Es ist nichts besonderes, es ist für die Leute die msegui mit lazarus testen wollen. Ideal wäre es wenn es wie bei fpgui automatisch Lazarus-Projekt und Msegui-Form erstellt, vielleicht mache ich es noch-
Dateianhänge
msegui-LazarusPackage.7z
(8.71 KiB) 236-mal heruntergeladen

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Lazaruspackage für msegui

Beitrag von fliegermichl »

Hi,

das ganze funktioniert erstmal einwandfrei. Wenn ich das Projekt aber dann compilieren will, meckert der Compiler "recompiling interfacebase checksum changed for fpimage". Das ist mir schonmal auf die Füsse gefallen. In Lazarus darf ein Dateiname auf keinen Fall doppelt vorkommen auch nicht in unterschiedlichen Verzeichnissen. Wenn er das package compiliert, nimmt er die fpimage.pas aus dem mseide Verzeichnis fpccompatibility. Wenn ich dann das Projekt compilieren will, findet er zuerst die falsche ppu Datei.

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: Lazaruspackage für msegui

Beitrag von Soner »

Bei mir compiliert es. Ich habe auch fpimage.aus aus fpccompatibility-Ordner zu Projekt uses hinzugefügt, dann FCL als Abhängigkeit hinzufügt, um die zu testen welche fpimage Lazarus nimmt, trotztem hat es richtig compiliert.
Wenn die Kompilate(*.ppu's) doppelt sind fragt Lazarus ob es die kompilierte Löschen soll, dann klicke ja, Mseide compiliert die Dateien sowieso wieder.
Es ist so dass Mseide kein Ausgabeverzeichnis für Units verwendet, die Kompilate werden dort abgelet wo Quelltext liegt und ich habe Unit-Ausgabeverzeichnis für mesgui-laz.pkg verwendet, wie das bei Lazarus üblich ist, dann kommen die Kompilate in die Quere.
Versuch mal das:
1) Öffne msegui_laz.pkg
2) Öffne Package-Einstellung
3) Gehe zu Pfade
4) Lösche die Angabe bei Unit-Ausgabeverzeichnis, es soll nichts stehen
Da steht noch bestimmt lib\$(TargetCPU)-$(TargetOS)
5) Dann kompiliert auch Lazarus alles in Quelltextordner wie Mseide
Und immer Lazarus die Kompilate löschen lassen.

Wenn du diese Package verwendest, dann denke dran dass es nicht fertig ist. Ich habe nur units hinzugefügt die Ich brauchte. Dann kannst auch einfach units hinzufügen, die du brauchst.

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: Lazaruspackage für msegui

Beitrag von Soner »

Und wenn Lazarus Kompielurung wegen "Checksumm-Fehler usw." abbricht, dann öffne einfach Package und rekompielere es.
Das gilt auch bei einige normalen Lazaruspakete wie z.b. Indy-Paket.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Lazaruspackage für msegui

Beitrag von fliegermichl »

Hmm klappt auch nicht. Er meckert dann
mclasses.pas(1144,46) Fatal: Kann msesysintf nicht finden verwendet von mclasses. Package benötigt ein Ausgabeverzeichnis. ppu im falschen Verzeichnis=D:\msegui\mseide-msegui\lib\common\kernel\windows\msesysintf.ppu. Package "msegui_laz" aufräumen..

??

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: Lazaruspackage für msegui

Beitrag von Soner »

Package öffnen und kompilieren.

Du kannst auch vorher alle *.ppu-Dateien aus msegui\lib\common Ordner löschen.
Einfach mit Windows-Expolorer in den Order wecheln dann im Suchfeld *.ppu eingeben, dann alle markieren und löschen.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Lazaruspackage für msegui

Beitrag von fliegermichl »

Klappt nicht. Ich habe alle .ppu und .o Dateien aus mseide gelöscht. Package msegui_laz neu compiliert (ohne Fehlermeldungen).

Ich will ja nicht nur einfach die Lazarus IDE zum coden verwenden, sondern das ganze Projekt auch mit Lazarus compilieren.

Ich habe testweise mal fp*.pas und zstream.pas in common/fpccompatibility nach msefp*.pas und msezstream.pas und auch alle Referenzen darauf umbenannt.
Dann compiliert es.

So richtig laufen tut das aber auch nicht. Das msegui Formular wird zwar angezeigt, reagiert aber nicht. Ist ja irgendwo auch klar, beide Systeme haben eine TApplication Klasse, die aber völlig unterschiedlich sind.

So wie es aussieht kann man eine Lazarus Anwendung nicht so einfach nach msegui portieren. Die Systeme sind einfach zu unterschiedlich.
Bei einer Neuentwicklung wäre das egal.
Aber ich habe eine bestehende Anwendung mit mehr als 0,5 Mio. Programmzeilen. Das umschreiben auf msegui ist vom Aufwand her nicht vertretbar.

Schade, wäre schön gewesen wenn ich meine bestehende Anwendung mit der msegui Oberfläche hätte ausstatten können.

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: Lazaruspackage für msegui

Beitrag von mse »

Es kommt darauf an, wie stark der Programmcode mit der GUI verwoben ist. Den Code der "business logic" kann man ja auch im portierten Projekt verwenden. Was bleibt ist der Nachbau der Formulare, was häufig mit überschaubarem Zeitaufwand möglich ist.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Lazaruspackage für msegui

Beitrag von fliegermichl »

Naja, sehr stark verwoben ist er nicht. Ich habe seinerzeit in ca. 4 bis 5 Tagen aus dem Windows Delphi Desktop Projekt ein Linux Webserverprojekt gemacht.
Dabei habe ich die "Geschäftslogik" in Proceduraufrufe gepackt und in einem ELF binary über Kommandozeilenaufrufe verfügbar.

Die HTML Ausgabe hat dann ein PHP Script gemacht.

Da hatte ich die Portierung aber mit Lazarus gemacht. Das ist im Mode $Delphi aber wirklich weitgehend Delphi kompatibel.
Das fängt beispielsweise damit an, daß Linien eine Farbe haben die vom Typ TColor sind und den gibt es in msegui nicht.

Aber ich will es versuchen. Man kann ja eine delphicompatibility Unit anlegen wo man reinschreibt
type TColor = colorty; usw.

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: Lazaruspackage für msegui

Beitrag von mse »

Das wäre super! Schön wäre es, wenn du die Unit der Allgemeinheit zur Verfügung stellen könntest.

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: Lazaruspackage für msegui

Beitrag von Soner »

Die Package ist nur für in Lazarus editieren gedacht, man muss weiterhin in Mseide sein Programm designen. Es ist auch "Alpha"-Version und vieles nicht enthalten.
Ich habe es gemacht um bei erforschen von Msegui Codevervolständigung und andere angenehme Sachen von Lazarus zu verwenden.
Als fertige Version könnte man Mseide als Designer einbinden und für alles andere Lazarus verwenden oder ich gewöhne mich an Mseide und wechseln ganz auf Mseide :D

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Lazaruspackage für msegui

Beitrag von fliegermichl »

Ja danke. Mir gehen ja viele der Automatismen in Lazarus auch auf den Geist aber die Codevervollständigung und Anzeige der erwarteten Funktionsparameter gehören definitiv nicht dazu :-)

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: Lazaruspackage für msegui

Beitrag von mse »

fliegermichl hat geschrieben:Ja danke. Mir gehen ja viele der Automatismen in Lazarus auch auf den Geist aber die Codevervollständigung und Anzeige der erwarteten Funktionsparameter gehören definitiv nicht dazu :-)

In MSEide werden die Funktionsparameter mit Ctrl+Shift+Space angezeigt. Code Navigation mit Ctrl+LeftClick wird ebenfalls unterstützt. Gesucht nach den Source-Dateien wird in den bei 'Project'-'Options'-'Debugger'-'Source directories' angegebenen Verzeichnissen.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Lazaruspackage für msegui

Beitrag von fliegermichl »

Das mit Ctrl+Shift+Space geht bei mir nicht und Ctrl+LeftClick funktioniert nur, wenn die unit in dem Projekt Tree ist. Lazarus zeigt die Parameter sofort an wenn die entsprechende Unit mit uses eingebunden ist und bei überladenen Funktionen wird diese Liste abhängig von den bisher gewählten Parametertypen sofort aktualisiert. Dann braucht man nur noch mit den Cursortasten auf die gewünscht, Enter und fertig.

Ich sage nicht, daß die mseide schlecht ist.
Eher merkwürdig

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: Lazaruspackage für msegui

Beitrag von mse »

fliegermichl hat geschrieben:Das mit Ctrl+Shift+Space geht bei mir nicht und Ctrl+LeftClick funktioniert nur, wenn die unit in dem Projekt Tree ist.

Ctrl+Shift+Space muss beim cursor hinter der öffnenden Klammer gedrückt werden. Zusätzlich zum Project Tree werden auch Verzeichnisse nach Quelldateien abgesucht, welche in 'Project'-'Options'-'Debugger'-'Source directories' aufgeführt werden.

Antworten