Konfiguration MSEide

Forum für alles rund um die MSEide und MSEgui
Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Konfiguration MSEide

Beitrag von Marsmännchen »

Hi,

ich schnupper jetzt mit Hilfe des Tutorials in MSEide rum. Ich habe übrigens in den Settings noch den Pfad zu fpc und zum mse-Verzeichnis eingetragen. Was ich nicht weiß ist, was bei fpclibdir reinmüste (s. Anhang).

Laut Tutorial soll man in der Komponentenpalette über die einzelnen Komponenten fahren und dann würde ein Tooltip den Namen der Komponente anzeigen. Das macht er bei mir aber nicht. Codecomletition mit Strg-Leer geht auch noch nicht. Wie schalte ich das ein?
Dateianhänge
MSEIde_Configure.png
Zuletzt geändert von Marsmännchen am Sa 25. Feb 2017, 16:40, insgesamt 1-mal geändert.
Ich mag Pascal...

Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Re: Konfiguration MSEide

Beitrag von Marsmännchen »

... habe jetzt mal versucht, die Rechenkünstlerin zu kompilieren und habe eine Accessviolation bekommen. In der Kommandozentral stand dann noch Make ***ERROR*** 217:

Free Pascal Compiler version 3.0.2 [2017/02/10] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: FreeBSD/ELF for i386
Compiling Rechenkunst.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/mseapplication.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msethread.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestream.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/linux/msesysintf.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msesysutils.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestat.pas
Compiling /usr/home/jweiss/msegui/lib/common/container/msedatalist.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/mseact.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/mserichstring.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/mseapplication.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msefileutils.pas
Compiling /usr/home/jweiss/msegui/lib/common/sysutils/mseprocutils.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msepipestream.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/linux/mseprocmonitor.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestat.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msemacros.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msearrayprops.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/mseformatstr.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestatfile.pas
Compiling /usr/home/jweiss/msegui/lib/common/ifi/mseificomp.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msetimer.pas
Compiling /usr/home/jweiss/msegui/lib/common/ifi/mseificompglob.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestreaming.pas
Compiling /usr/home/jweiss/msegui/lib/common/ifi/mseificomp.pas
Fatal: Compilation aborted
An unhandled exception occurred at $080A4386:
EAccessViolation: Access violation
$080A4386
$080D411D
$080D432F
$0810DB53
$08106047
$08108837
$08113DA0
$0813E559
$08140014
$081406E7
$08142277
$08143377
$0814525A
$0814528B
$0814528B
$0814528B
$08145BC2



NACHTRAG: Habe jetzt mal ein Konsolenprojekt aufgemacht und ein simples Hallo-Welt-Writeln abgeschickt. Gleicher Fehler:
Free Pascal Compiler version 3.0.2 [2017/02/10] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: FreeBSD/ELF for i386
Compiling Konsolentest.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msethread.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestream.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/linux/msesysintf.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msesysutils.pas
Compiling /usr/home/jweiss/msegui/lib/common/container/msedatalist.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestreaming.pas
Compiling /usr/home/jweiss/msegui/lib/common/ifi/mseificomp.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/mseclasses.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msethread.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestream.pas
Compiling /usr/home/jweiss/msegui/lib/common/kernel/msestat.pas
Compiling /usr/home/jweiss/msegui/lib/common/container/msedatalist.pas
Fatal: Compilation aborted
An unhandled exception occurred at $08093E3E:
EListError: List index exceeds bounds (0)
$08093E3E
$081B4FB7
$081A90E8
$081B5528
$081BD00B
$081BDAE9
$081A90E8
$081B5528
$081B4C16
$081B5339
$081B4FB7
$081B4C16
$081B5339
$081B4FB7
$081B4FB7
$081B4C16
$081B5339

Ich mag Pascal...

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: Konfiguration MSEide

Beitrag von mse »

Marsmännchen hat geschrieben:Hi,

ich schnupper jetzt mit Hilfe des Tutorials in MSEide rum. Ich habe übrigens in den Settings noch den Pfad zu fpc und zum mse-Verzeichnis eingetragen. Was ich nicht weiß ist, was bei fpclibdir reinmüste (s. Anhang).

Der einzige notwendige Eintrag ist ${MSEDIR}. ${FPCDIR} und ${FPCLIBDIR} sind zusätzliche häufig gebrauchte globale Makros die in eigenen Projekten verwendet werden können. Die MSEgui Demo-Projekte verwenden sie nicht.
Ein normaler Installationsvorgang ist in README.TXT beschrieben:

Code: Alles auswählen

 
Installation:
*************
1. Download and install FPC 3.0.2, you can get it from
   http://www.freepascal.org/download.var
2. Download mseide_msegui_src_4_4.zip and the mseide_* archive
   for your system.
   http://sourceforge.net/projects/mseide- ... segui/4.4/
3. Extract them to a directory of your choice ('yourdirectory') .
4. Run 'yourdirectory/bin/mseide' on linux and freebsed or
   'yourdirectory\bin\mseide.exe' on windows.
5. In 'Settings'-'Configure MSEide'-'${MSEDIR}' select 'yourdirectory/msegui'.
6. In 'Project'-'Open' select 'yourdirectory/msegui/apps/demo/demo.prj'.
7. 'Target'-'Continue'.
 

Laut Tutorial soll man in der Komponentenpalette über die einzelnen Komponenten fahren und dann würde ein Tooltip den Namen der Komponente anzeigen. Das macht er bei mir aber nicht.

Funktioniert bei mir, aber nur, wenn MSEide aktiv ist.
Codecomletition mit Strg-Leer geht auch noch nicht. Wie schalte ich das ein?

Ich verwende stattdessen Code-Navigation mit Ctrl+LeftClick. Ich habe mal mit code completion experimentiert. Wenn du MSEide mit -B -dmse_with_showsourceitems kompilierst, wird es eingebaut. Die Leute haben sich beklagt, es sei nicht gut genug. Recht haben sie, darum ist es standardmässig nicht aktiviert.
Zuletzt geändert von mse am Sa 25. Feb 2017, 18:05, insgesamt 1-mal geändert.

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: Konfiguration MSEide

Beitrag von mse »

Marsmännchen hat geschrieben:... habe jetzt mal versucht, die Rechenkünstlerin zu kompilieren und habe eine Accessviolation bekommen. In der Kommandozentral stand dann noch Make ***ERROR*** 217:

Es kommt ab und zu vor, dass sich FPC an bereits kompilierten units verschluckt und abstürzt. Meistens hilft dann statt 'Project'-'Make' 'Project'-'Build' auszuführen. Wenn es nicht hift, müssen alle *.ppu und *.o Dateien gelöscht werden.

Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Re: Konfiguration MSEide

Beitrag von Marsmännchen »

Hi,
okay, kompilieren klappt, wenn ich auf Built umstelle. Das mit den Tooltips klappt leider unter FreeBSD weiterhin nicht, egal ob MSEide aktiv ist oder die Komponentenpalette. Damit muss ich dann leben. Ich spiel jetzt erstmal weiter mit dem Tutorial rum.
Ich mag Pascal...

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: Konfiguration MSEide

Beitrag von mse »

Marsmännchen hat geschrieben:Hi,
okay, kompilieren klappt, wenn ich auf Built umstelle.

'Project'-'Build' muss nur einmal ausgeführt werden. Übrigens Shift+Ctri+Space hinter der Klammer zur Anzeige der Funktionsparameter steht in MSEide zur Verfügung.
Das mit den Tooltips klappt leider unter FreeBSD weiterhin nicht, egal ob MSEide aktiv ist oder die Komponentenpalette. Damit muss ich dann leben.

Nein, nein, bugs müssen geflickt werden. Bei meinem 64 Bit FreeBSD funktioniert es. Welchen Window Manager verwendest du?
Zuletzt geändert von mse am Sa 25. Feb 2017, 22:04, insgesamt 1-mal geändert.

Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Re: Konfiguration MSEide

Beitrag von Marsmännchen »

mse hat geschrieben:'Target'-'Build' muss nur einmal ausgeführt werden. Übrigens Shift+Ctri+Space hinter der Klammer zur Anzeige der Funktionsparameter steht in MSEide zur Verfügung.

Im Menü Target finde ich keine Build-Funktion. Ich hatte Built unter den Projektoptionen eingestellt.
Übringens Parameteranzeige bei Strg-Shift-Leer hinter Klammer klappt bei mir auch nicht (hatte es bei Writeln ausprobiert).
Mir ist aufgefallen, dass MSEide beim Start eines Programms einen Haufen Kompilierungen ausführt. Wenn ich die Messages richtig lese, dann kompiliert er die ganzen Komponenten und das jedes Mal. Ist das richtig und soll das so sein?
Das mit den Tooltips klappt leider unter FreeBSD weiterhin nicht, egal ob MSEide aktiv ist oder die Komponentenpalette. Damit muss ich dann leben.

Nein, nein, bugs müssen geflickt werden. Bei meinem 64 Bit FreeBSD funktioniert es. Welchen Window Manager verwendest du?[/quote]
Bei mir läuft FreeBSD 11.0 mit Xorg. Als Benutzeroberfläche benutze ich Xfce mit Slim.
Ich mag Pascal...

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: Konfiguration MSEide

Beitrag von mse »

Marsmännchen hat geschrieben:Im Menü Target finde ich keine Build-Funktion. Ich hatte Built unter den Projektoptionen eingestellt.

'Projekt'-'Build' sollte das heissen, sorry.
Übringens Parameteranzeige bei Strg-Shift-Leer hinter Klammer klappt bei mir auch nicht (hatte es bei Writeln ausprobiert).

writeln() ist eine Compilerproc welche in den Sourcen so nicht vorkommt. Probiere eine MSEgui Funktion. Die durchsuchten Verzeichnisse werden in 'Projekt'-'Options'-'Debugger'-'Source directories' angegeben.
Mir ist aufgefallen, dass MSEide beim Start eines Programms einen Haufen Kompilierungen ausführt. Wenn ich die Messages richtig lese, dann kompiliert er die ganzen Komponenten und das jedes Mal. Ist das richtig und soll das so sein?

Das ist weil du 'Build' in den Projektoptionen als 'Default make col' gewählt hast. Bitte stelle zurück auf 'M (Make)'.
Bei mir läuft FreeBSD 11.0 mit Xorg. Als Benutzeroberfläche benutze ich Xfce mit Slim.

Ich werde versuchen ein entsprechedes System aufzusetzen.

Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Re: Konfiguration MSEide

Beitrag von Marsmännchen »

mse hat geschrieben:Ich werde versuchen ein entsprechedes System aufzusetzen.


Ich hatte es schon einmal an anderer Stelle geschrieben: Ich werde mir demnächst (voraussichtich nächste Woche) einen neuen Laptop holen, auf dem dann 64bit läuft. Lohnt sich denn deine Mühe, extra noch ein Testsystem aufzusetzen???

Edit: Kompilation mit 'make' läuft jetzt enorm schneller. Also wähle ich händisch 'Built', falls ich wieder so ein Crash wie oben beschrieben haben sollte, bzw. in den Fällen, für die Built ansonsten gedacht ist.
Ich mag Pascal...

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: Konfiguration MSEide

Beitrag von mse »

Marsmännchen hat geschrieben:
mse hat geschrieben:Ich werde versuchen ein entsprechedes System aufzusetzen.


Ich hatte es schon einmal an anderer Stelle geschrieben: Ich werde mir demnächst (voraussichtich nächste Woche) einen neuen Laptop holen, auf dem dann 64bit läuft. Lohnt sich denn deine Mühe, extra noch ein Testsystem aufzusetzen???

Vielleicht liegt es an Version 11, ich habe 10.3 64 Bit, das muss sowieso getestet werden.
Edit: Kompilation mit 'make' läuft jetzt enorm schneller. Also wähle ich händisch 'Built', falls ich wieder so ein Crash wie oben beschrieben haben sollte, bzw. in den Fällen, für die Built ansonsten gedacht ist.

Ja, einfach im Hauptmenu 'Projekt'-'Build' klicken. In den Optionen musst du nichts umstellen.

Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Re: Konfiguration MSEide

Beitrag von Marsmännchen »

Ich habe jetzt mal MSEide mit Code-Completition kompiliert (wow, ich habe es sogar hinbekommen :D ). Aber es stimmt, so richtig hilft sie nicht weiter. Mir werden zwar die passenden Ergänzungen angezeigt (zB. Variablennamen), aber ich kann sie nicht so einfach übernehmen.

Im Übrigen funktionieren bei mir auch die indent und unidnent-Shortcuts nur in Zeilen, in welchen schon Code steht. Probiert man Strg-I oder Strg-U in einer Leerzeile spinnen sie rum. Entweder wird nix gemacht, oder es funktioniert oder es funktioniert verkehrt herum. Ist das bekannt?
Ich mag Pascal...

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: Konfiguration MSEide

Beitrag von mse »

Marsmännchen hat geschrieben:Im Übrigen funktionieren bei mir auch die indent und unidnent-Shortcuts nur in Zeilen, in welchen schon Code steht. Probiert man Strg-I oder Strg-U in einer Leerzeile spinnen sie rum. Entweder wird nix gemacht, oder es funktioniert oder es funktioniert verkehrt herum. Ist das bekannt?

Nein. Kannst du die Schritte angeben, wie der Effekt reproduziert werden kann?

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: Konfiguration MSEide

Beitrag von mse »

mse hat geschrieben:Vielleicht liegt es an Version 11, ich habe 10.3 64 Bit, das muss sowieso getestet werden.

Vermutlich ein Timer Problem mit 32 Bit FreeBSD, der Cursor blinkt auch nicht. I'll take a look. :-)

Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Re: Konfiguration MSEide

Beitrag von Marsmännchen »

Also, ich habe jetzt nochmal ein frisches Projekt auf Basis von default.prj angelegt. Dann habe ich dort ein tintegeredit auf die mainform gepackt und die für das ondataentered eine Prozedur angelegt:

Code: Alles auswählen

procedure tmainfo.dataentered(const sender: TObject);
begin
end;
 
 
end.


Das ganze ist im Prinzip genau analog deinem Tutorial.

Ich gehe zwischen begin und end; und drücke Enter. Es erscheint eine neue Zeile und der Cursor steht am Zeilenanfang. Ich drücke mehrfach Strg-I und es passiert nix. Das Gleiche, wenn ich Strg-U drücke.
Ich drücke den Tabulator, um erstmal Abstand zum Zeilenanfang zu bekommen.
Ich drücke Strg-I und der Cursor sprint einige Spalten zurück.
Ich drücke Strg-U und der Cursor springt wieder vor zur der Stelle, wo er zuvor nach dem Tabulatordrücken war.
Ich drücke nochmal Strg-U und er springt an den Zeilenanfang.
Ich drücke mehrmals Strg-U, es passiert nix mehr. Das Gleiche bei Strg-I
Ich gebe eine banale Zeile ein: Writeln('Hello World');
Danach kann ich Strg-I und Strg-U drücken und sie funktionieren, wie ich es als User erwarte.

Also bringen die Leerzeilen die IDE offenkundig durcheinander?
Ich mag Pascal...

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: Konfiguration MSEide

Beitrag von mse »

mse hat geschrieben:Vermutlich ein Timer Problem mit 32 Bit FreeBSD, der Cursor blinkt auch nicht. I'll take a look. :-)

Jup, die richtige Grösse für __time_t wirkt Wunder. Bitte probiere git master 8b7bf7437d9417b8349df32f623733aeb4850fb4.

Antworten