Ich liebe Lazarus, aber es nervt!

Für Fragen von Einsteigern und Programmieranfängern...
Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Michl »

Nimral hat geschrieben:
Do 8. Apr 2021, 10:22
Cody. Was für eine Wohltat. Bereits das Wiki ist so wie man sich das wünscht, ich erkläre mich spontan bereit, ein paar Tage zu investieren und das AnchorDocking Wiki ebenso zu machen
Ja Cody, ist eines von drei Packages, was ich immer bei jeder Installation installiere und nicht missen möchte!! Sehr gut, wenn du die Dokumentation verbessern willst!!!

Noch eine Anmerkung zu dem AnchorDocking. Du benötigst in der IDE nur das Package AnchorDockingDsgn installiert, nicht AnchorDocking. Das Package AnchorDocking wird benötigt, wenn du selber in einer Anwendung AnchorDocking nutzen willst.
Weiter empfehle ich das Package AnchorDockingDsgn mittels Menu -> Package -> Install/Uninstall Package zu installieren und nicht das vom OnlinePackageMangager. Dann installierst du das von Lazarus mitgelieferte Package. Soviel ich weiß ist das per OPM verfügbare Package ein Fork vom Original, mit einer einfachen Änderung der Buttons. Wie stabil das ist, weiß ich nicht.

Weiter gibt es einige Fenster, die (noch) nicht dockbar sind. Meistens sind es Dialogfenster, die speziel zu einer Komponente oder Property geöffnet werden. Dazu sind bereits diverse Feature-Request im Bugtracker, jedoch fehlt es an Kapazitäten alle möglichen Features zeitnah zu implementieren.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von PascalDragon »

Nimral hat geschrieben:
Do 8. Apr 2021, 10:22
Danach liefert Cody unspektakulär wirklich nützliche Ergänzungen, die ich oft schmerzlich vermisst habe, z.B. eine Art Cross-Reference, das ist jetzt da. Einziger Wermutstropfen (mecker ...) eigentlich wünsche ich mir die Funktion ins Kontextmenü des Editors, statt "Find Declaration ...", wünschen. Dass man erst mal durch den Compiler muss entwertet das Tool wieder stark. Ich bin dann mit einer Suche über den Browser oder (wenns funktioniert ..) F1 schneller und komfortabler am Ziel.
Wie ich in meinem ersten Post hier erwähnt hatte: Im Kontextmenü des Editors unter Quelle -> Zeige Unit- / Bezeichnerwörterbuch findet sich das Suchfenster von Cody. ;)
Nimral hat geschrieben:
Do 8. Apr 2021, 10:22
Würde da in den freien Platz nicht ein AnchorDocking Header gehören? Aber irgendwie ist das auch kein richtiges Fenster, welches sich Code-Explorer und Components teilen. Fühlt sich für mich an wie ein Bruch in der IDE?
Wenn du in die Mitte runterschaust, dann stellst du fest, dass dort der Docking Code auf die Idee gekommen ist zwei Splitter hinzumachen, statt nur einen. Das muss wohl noch gefixt werden...
Bei "Fenstern" in Tabreitern gibt es übrigens keine Docking Header, da der Tabreiter selbst als Docking Header dient. Wenn ich zum Beispiel den CodeExplorer unten ins Nachrichten-Fenster ziehe, dann erhält Komponenten einen Docking Header, weil es nun allein ist. ;)

Übrigens: bei mir öffnet Strg+Alt+P die Komponentenliste (bzw. fokussiert sie, da sie ja gedockt ist). Einfach unter Ansicht nachschauen, was bei dir das Tastenkürzel ist. ;)
Nimral hat geschrieben:
Do 8. Apr 2021, 10:22
Bei der Gelegenheit habe ich auch darüber nachgedacht, warum mir der Packet-Manager so befremdlich vorkommt. Erstens ist er verkehrt herum gebaut, ein Dialog der einen Arbeitsfluss abbilden soll (installiere ein Package ...) gehört, damit er sich "richtig" anfühlt, in Leserichtung aufgebaut, "Available for installation" gehört also nach links. Und die Liste "Install", die wohl die bereits installierten Packages anzeigen soll, ist unglücklich beschriftet, es sollte wohl besser "Installed Packages" heißen. Es heißt zwar im Help "This is the list of packages, that will be compiled into the IDE when it is rebuilt.", was technisch richtig ist, an dieser Stelle ist das aber falsch, denn alle Packages außer denen die gerade hinzugefügt wurden sind bereits installiert. Dass Lazarus ggf. alle neu compiliert ist ein internes Detail das mit dem was gerade getan werden soll (ein zusätzliches Package installieren ...) nichts zu tun hat. Weiters hat man der Sache m.E. keinen guten Dienst erwiesen, als man den Online-Package Manager optisch anders gestaltet hat wie den Rest von Lazarus (die großen Icons unten quer ...).
Das mit den Texten könntest du als Bug melden (liest sich in der deutschen IDE genauso bescheiden :P ).

Ich stimme allerdings nicht zu, dass die vorhandenen, statt der installierten Packages links sein sollten. Der Punkt heißt Installierte Packages verwalten und eben nicht Package installieren, das heißt der Arbeitsfluss kann genauso gut sein "Ich möchte Package deinstallieren" wo die verfügbaren Packages ja nun gar nicht interessieren (so entferne ich zum Beispiel mit als Erstes immer den Jedi Code Formatter).

Und der OPM war glaub ich ursprünglich ein Drittpaket, dass sich einfach weit genug entwickelt hat, dass man es auch als Teil der IDE mit ausliefert. Das heißt das Design der Packageinstallation der IDE und des OPM gehen nicht nur auf unterschiedliche Zeiten, sondern auch auf unterschiedliche (ursprüngliche) Entwickler zurück.
Nimral hat geschrieben:
Do 8. Apr 2021, 10:22
Und jetzt nehme ich mir den Code-Beautifier, den PascalDragon vorgeschlagen hat, vor.
Sicher, dass du nicht corpsman meinst? ;)
FPC Compiler Entwickler

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Nimral »

Die englischen Beschriftungen sind "Install/Uninstall Packages" (Menü & Fenster), und "Available für Installation", also m.E. richtiger als die Deutschen. Die Package-Liste verhält sich vorbildlich, was schon installiert ist, wandert von "Available" rüber zu "Installed" und umgekehrt. Wären die Listen umgekehrt angeordnet, und richtig beschriftet, wärs für mein Gefühl rund.

Der Code Formatter DelForLaz ist m.E. kaputt. Es fehlt das Projektfile, und das LPK wurde erst gar nicht geladen (ohne Fehlermeldung übrigens), das könnte die Ursache sein:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
  <Package Version="5">
... auch das restliche xml ist ähnlich, aber im Detail unterschiedlich zu dem was mein Lazarus macht wenn ich ein Package baue: mein Lazarus steht auf Package Version 4, die Items Liste im lpk ist anders formatiert. Ich hab versucht, das Package mit Lazarus nachzubauen, das Resultat war zwar installierbar, führte aber wieder mal zu einem Crash beim Start der IDE. Also Jedi Code Formatter wieder rein, ein nicht ganz optimaler Formatter ist besser als ein Abstürzender.

Erkentnis am Rande: es nützt überhaupt nichts, Lazarus mit Debug zu übersetzen und dann mit gdb zu starten, man bekommt keinerlei nützliche Absturz-Infos. Ich werde wohl als nächstes versuchen, Lazarus mit Lazarus zu laden, und wie jede andere Lazarus App mit Debug zu starten. Ich bin aber schon mal froh, AnchorDock zu haben, das wäre sonst ein Schlachtfest mit gleich aussehenden Fenstern der beide IDEs geworden ...

Hier noch was gdb zu sagen hat:
Lazarus Sigtrap.png
Lazarus Sigtrap.png (7.59 KiB) 1716 mal betrachtet
Turbo-Pascal hatte weiland noch eine Möglichkeit ("Find Runtime Error"), aus der Adresse des Absturzes in den Quellcode zu schauen, wo es ungefähr passiert ist, das habe ich aber in Lazarus schon mal versucht und nichts gefunden. Damit ist hier wohl mal wieder ein Ende einer Sackgasse erreicht..

Halten wir fest: kein Problem gelöst, eins dazu bekommen. Warum genau wurde der Lazarus doch gleich in die Wüste verbannt? Lepra? Oder war das ein Anderer? Ich glaub, ich stelle meinen Computer auf die Straße, in der Hoffnung dass Jesus vorbei kommt und das ganze Zeugs heilt, mir geht schlicht und einfch die Zeit aus, gegen meine eigene IDE zu kämpfen.

Armin.

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Nimral »

Äh ja, bei Strg-Alt-p geht bei mir auch die Komponentenliste auf :-)

MarcoV schrieb allerdings: Alt-P.

viewtopic.php?p=120884#p120884

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von six1 »

Ich lese hier nur mit, weil es irgendwie lustig ist.

Einerseits brauchst du in irgend einer Weise Probleme, andererseits lebe auch ich mit ein paar Dingen... ich drücke es mal vorsichtig aus: ...welche ich nicht komplett verstehe. Aber die halten mich nicht davon ab, mich auf die Entwicklung meiner Software zu konzentrieren.

Delphi war schlimmer... jede neue Version brauchte das erste Update, damit nicht ständig die ganze IDE abgefackelt ist.
Ich arbeite übrigens undocked, weil ich es hasse, dass so ein Monster-Fenster ständig vor die Form springt, sobald ich nur irgend etwas anklicke. Ich habe also keinen Stack Trace Fehler :lol:

Ich bin happy... 8)
Gruß, Michael

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Nimral »

Ich mach inzwischen, wenn jemand mit "Glas ist halb voll" Durchhalteparolen kommt, immer folgenden Voschlag: wir gehen zusammen aufs Oktoberfest, und dort bestellst Du Dir eine Mass für 12 Euro. Ich sag dann der Bedienung, dass es für Dich auch OK ist, wenn sie nur halb voll macht.

Und dann warte ich gespannt, was passiert.

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von six1 »

:lol: Achtung, wichtiger Unterschied: Keiner bezahlt für Lazarus 12€
Gruß, Michael

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Nimral »

six1 hat geschrieben:
Do 8. Apr 2021, 17:01
:lol: Achtung, wichtiger Unterschied: Keiner bezahlt für Lazarus 12€
:-) 1:0 für Dich :-)

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Nimral »

Ich für meine (!) Art zu arbeiten habe mit AnchorDock das letzte i-Tüpfelchen gefunden, jetzt ist die Umgebung perfekt. Eine Weile lang hatte ich noch einen Dritten dran, für Mail, Internet und "Diverses", der hat mich aber eher gestört, obwohl ich nicht einmal sicher sagen kann warum genau. Eine Weile lang hatte ich den Dritten auf "Pivot" um Dokus hochkant lesen zu können, aber auch das hat mich mehr gestört als er mir genützt hat.

Seit letztem Sommer arbeite ich so:

DSC_0307.jpg
DSC_0307.jpg (66.74 KiB) 1687 mal betrachtet

... und fühle mich wohl damit. So stelle ich mir das vor, deshalb stecke ich ja so viel Mühe rein festzustellen, ob die Abstürze jetzt wirklich von AnchorDock kommen, oder doch aus der Ecke von LHelp, oder von ganz woanders, oder von beiden.

Mich ärgert im Moment maßlos, dass es mir (noch) nicht gelingt, die Abstürze festzupinnen. Ich meine, ich hab die Quellen, ich hab einen Debugger, es kann einfach nicht sein dass ich es nicht schaffe, die Abstürze einzufangen.

Armin.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Michl »

Wenn du mit dem Debugger GDB arbeitest, würde ich dir empfehlen unter Menu -> Tools -> Configure "Build Lazarus" unter Options folgende Kompiliereinstellung zu nutzen:

Code: Alles auswählen

-ghtlw2 -Criot -Sa -WC
(das -WC kannst du auch weglassen, mit WC wird ein Konsolefenster mit den Debugausgaben gezeigt).

Wenn du die Lazarus IDE so neu kompiliert hast, werden in die IDE alle Debuginformationen einkompiliert und auch ordentlich ausgegeben.

Falls dann noch Lust hast, kannst du mit dieser übersetzten IDE Lazarus selbst debuggen. Also einfach das Projekt Lazarusverzeichnis.../ide/lazarus.lpi öffnen und mit F9 starten. Vermutlich wird das Projekt "Lazarus" nun in der IDE gestartet und stoppt mit einer Exception und der Fehlermeldung "Stream read error". Einfach auf "Continue" clicken und schwups hast du eine Lazarus IDE, die in deiner eigentlichen IDE läuft. Kommt es dann zu dem Absturz, kannst du ganz normal, wie bei jedem anderen Projekt in den Source-Code springen oder im Stack-Trace-Fenster der Ursache nachgehen.

Aufpassen musst du allerdings, wenn du mehrere Lazarusinstallationen auf deinem Rechner hast. Dann musst du noch vor dem Starten unter Menu -> Run -> Run Parameters... -> Command line paramaters die gleiche Zeilen eintragen, die du für diese Installation verwendest (bei mir z.B.:

Code: Alles auswählen

--pcp=C:\64fpc320\LazTrunk\Config --debug-log=C:\64fpc320\LazTrunk\debug.txt
), ansonsten wird die per Default installierte IDE im Debugger gestartet.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von martin_frb »

Cody => "Show Unit and identifier Dictionary"
Menu: Source

Eine gute Übersicht was die IDE kann:
https://wiki.lazarus.freepascal.org/Lazarus_IDE_Tools
https://wiki.lazarus.freepascal.org/New ... ures_since

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von corpsman »

Nimral hat geschrieben:
Do 8. Apr 2021, 16:11
Der Code Formatter DelForLaz ist m.E. kaputt. Es fehlt das Projektfile, und das LPK wurde erst gar nicht geladen (ohne Fehlermeldung übrigens), das könnte die Ursache sein:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
  <Package Version="5">
Armin.
Das Packet ist nicht kaputt, nur mit einem deutlich neueren Lazarus erstellt als deines. Lazarus hat irgendwann letztens das XML format umgestellt

wo früher

Code: Alles auswählen

<FIles count=10>
 <FIle0>
...

Stand steht heute nur noch

Code: Alles auswählen

<FIles>
 <FIle>
...


sieh Erklärung hier

Du scheinst also eine "Alte" Lazarus version zu haben, und musst nur die XML Dateien entsprechend umstellen, dann gehts wieder.
Leider weis ich nicht ob es eine "Option" in Lazarus gibt die XML-Dateien im Alten Format zu speichern, ...
--
Just try it

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Nimral »

Wie kann ich eine "alte" Version haben, wo ich doch gestern die neueste 2.0.12 geladen habe? Mir scheint, Du bist Deiner Zeit voraus :-)
DelForLaz lpk problem.png
DelForLaz lpk problem.png (93.93 KiB) 1595 mal betrachtet
Das lpk habe ich, denke ich, hinbekommen, ich kann das Paket auch installieren, mit ein bisschen Bauchweh weil die IDE den Quellcode leicht verändert hat (Register-Prozedur wurde verändert) ..
DelForLaz Problem veränderte Register Prozedur.png
DelForLaz Problem veränderte Register Prozedur.png (67.45 KiB) 1592 mal betrachtet
... und ich nicht weiß ob das gut oder böse oder egal ist, aber Lazarus startet schon mal, das Paket wird bei den installierten Paketen unter "User" gelistet, aber dann?

Strg-D öffnet nach wie vor den Jedi Code Formatter. Muss ich den erst de-installieren, muss ich das Package danach nochmal installieren(damit es Strg-D in Beschlag nehmen kann), hat es sich irgendwo zwischen die Key-Mappings gemogelt wo ich ihm Strg-D noch selber zuweisen muss, kuschelt es sich in irgendeinem Menü unauffällig zwischen die anderen Punkte ... Jungs, man kann Einsteiger nicht einfach irgendwo in der Mitte vom Nirgendwo abkippen und dann hängen lassen. Eine bis zum Ende durchgezogene Doku wo man sieht wie es im Standardfall aussieht wenn alles klappt ist das Minimum.

Ja, ich weiß, Lazarus kostet nix, aber das ist eigentlich falsch, es kostet Zeit und Nerven. Ich würde sofort liebend gerne einen mittleren dreistelligen Betrag auf den Tisch blättern. Gemessen an dem was meine anderen Tools (MSDN für Visual Studio und PhPStorm) nehmen ist es immer noch ein Schnäppchen. Aber so lange es eine Bastelbude bleibt für Ewiggestrige Pascal Zombies (O-Ton Kollege) und auch so aussieht schauts eher mau aus.

Selbes Angebot wie an Michl: gesetzt den Fall, ich bekomme es ans Laufen bin von dem Tool begeistert, und Du liest gegen damit ich keinen Stuss verbreite, schreibe ich gerne eine Doku dazu, die sich am Wiki von Cody ortientiert.

Was genau muss ich jetzt machen, um den Code Formatter mal anzuschmeißen und zu sehen was er aus meinen Sourcen zaubert?

Armin.
Dateianhänge
delforlazarus.lpk
(1.56 KiB) 47-mal heruntergeladen

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von wp_xyz »

Nimral hat geschrieben:
Fr 9. Apr 2021, 14:43
Wie kann ich eine "alte" Version haben, wo ich doch gestern die neueste 2.0.12 geladen habe? Mir scheint, Du bist Deiner Zeit voraus :-)
Oh Mann, diese Stänkerei...

Ich weiß nicht, wo du deine Programme her hast. Fakt ist, dass im Laz trunk (v2.1) das Format der XML-Dateien geändert wurde. Wenn jemand ein Programm in Trunk speichert und nicht aufpasst, wird es im neuen Format gespeichert und kann von den alten Versionen (auch 2.0.12 ist "alt") nicht gelesen werden. Es gibt in den Projekt- und Package-Optionen von trunk ein Häkchen für "Maximize compatiblity", um im alten Format zu speichern. Oder du nimmst den Format-Konverter auf https://sourceforge.net/p/lazarus-ccr/s ... ons/fixlp/. Und stänkere jetzt nicht wieder, dass das in den Release-Versionen enthalten sein sollte: Als ich den geschrieben habe, war nicht abzusehen, dass die Laz-Version 2.2 so lange auf sich warten lassen würde, und mit dieser Version wäre das Problem eh vorbei.

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: Ich liebe Lazarus, aber es nervt!

Beitrag von Nimral »

Wer hier stänkert, da bin ich mir gerade unsicher.

Ich rechne durchaus damit, weil ich mir bewusst bin dass ich im Moment für einen Einsteiger und Bittsteller eine ziemlich große Lippe riskiere, und daher Gefahr laufe, mangels demütiger Grundhaltung den Unmut mancher Profis herauszufordern und eventuell Ärger zu kriegen, aber das riskiere ich mal. Wenn Du ein Angebot, wenigstens einige der Macken, die meiner Meinung nach den Einstieg in Lazarus unnötig erschweren, auszubügeln, als besserwisserisches Gestänker sehen möchtest, dann kann ich nichts dafür. Das ist das Forum "Einsteigerfragen".

Ich habe die mir zur Verfügung stehenden Quellen nach bestem Wissen gecheckt, sie sind der Meinung, dass 2.0.12 die neueste Version für Leute wie mich ist. Die Quelle für DelForLaz wurde mir - siehe oben - von Corpsman per Forums-Link geschickt. Über das falsche xml Format habe ich mich nicht beschwert, nur gewundert. Hauptproblem ist wieder die fehlende Doku die einen an der Hand nimmt und bis zum Lauffähigkeit in Standardeinstellung führt. Ich weiß nicht, wie Du Tools nützt? Du besorgst Dir den Quellcode und findest selber raus wie man es installiert und was es kann?

Ich bin nicht der Meinung, dass ich auf dem falschen Dampfer bin, wenn ich so lange frage bis die Basisinstalltion läuft, lerne aber gerne dazu.

Antworten