nach Crash - Programm retten

Für Fragen rund um die Ide und zum Debugger
Antworten
Benutzeravatar
JanW
Beiträge: 2
Registriert: So 29. Jan 2017, 17:39

nach Crash - Programm retten

Beitrag von JanW »

Vorab:
die IDE ist 2.0.6 (Linux Mint 20)
Freepascal 3.04.

Hi,
ich hab mal eine Frage:
ich hab ein kleines Programm geschrieben (ein paar Listboxen, Buttons und Labels.)
Hab dann eine Zeile editieren wollen (eine Abfrage des KeyDown auf ner Liste; ob chr('a') gedrückt wurde),
dann hat die IDE irgendwie die ganze Zeile gelöscht, die sich mit STRG+Umschalt+ Z auch nicht wieder herstellen ließ. (keine Ahnung, hab nur ein paar Zeichen ändern wollen)

Seitdem startete erst das Programm nicht mehr, weil irgendwas an einem Click-Button nicht mehr stimmte (da war ich nicht dran)
und das CPU Fenster startete automatisch immer.

nach Schließen des Projektes
versuchte ich es wieder zu laden.
Seitdem macht die IDE nach dem Laden des Projektes gar nichts mehr.

Wenn ich es lade - passiert - nichts.
Es wird keine Form angezeigt und kein Codefenster mehr.
Nix.
die IDE bleibt die IDE. Ohne Projekt. Fertig.

die IDE ist 2.0.6 (Linux Mint 20)
Freepascal 3.04.

Was kann ich machen, um das nicht nochmal alles platzieren und coden/den Code in die click-Procedures/Functions einfügen zu müssen??
OK, sind nur 1500 Zeilen, aber es ist müßig.
Ich hab keine Ahnung, was die IDE da gemacht hat.

Ich kann jetzt ein neues Projekt mit einer neuen Form erstellen, alle Fontgrößen nochmal anpassen, alle Elemente darauf neu zu platzieren, zu positionieren.

Oder gibt es einen Weg
a) Herauszufinden, woran es da hakt?
b) und das Projekt zu retten? (beim Neuerzeugen verbessert man zwar auch, kann aber auch nervige Fehler machen ...)

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: nach Crash - Programm retten

Beitrag von hum4n0id3 »

Ich weiß jetzt nicht wie es unter Linux aussieht, aber was passiert wenn du die Shift+F12 Taste drückst? Wird die obere Leiste geladen? Ganz links unten gibt es zwei Buttons, Units und Formulare. Hier findest du was du benötigst.

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

Re: nach Crash - Programm retten

Beitrag von wp_xyz »

Siehst du die lange Menü- und Toolbar- und Palettenzeile der IDE, wenn du Lazarus startest? Wenn ja, kannst du mit "Ansicht" > "Objektinspektor" den Objektinspektor und mit "Ansicht" > "Quelltexteditor" den Editor und den Designer wieder einschalten.

Oder gehe auf den Dropdown-Pfeil das Monitor-Icons kurz vor der Komponenten-Palette und wähle den "default"-Desktop aus - damit wird die dort gespeicherte Standard-Fensteranordnung wiederhergestellt.

Wenn das nichts hilft, ist wahrscheinlich das schnellste Vorgehen, deine Profileinstellungen zu löschen. Ich weiß jetzt nicht genau, wo das unter Linux ist, wahrscheinlich der Ordner .lazarus im Homeverzeichnis (*). Beende die IDE, benenne den .lazarus-Ordner um und starte die IDE neu. Dann werden alle Einstellungen neu mit Defaultwerten eingerichtet (das heißt aber auch, dass du dir deine persönlichen Einstellungen neu machen und auch deine zusätzlichen Komponenten neu installieren musst).

(*) Falls du an den Menüpunkt "Ansicht" > "IDE-Interna" > "Über die IDE" rankommst, kannst du in der Zeile "Primary config directory" den Namen des Profil-Ordners ablesen.

charlytango
Beiträge: 845
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: nach Crash - Programm retten

Beitrag von charlytango »

Ob du den Code retten kannst, traue ich mir von der Entfernung aus nicht zu sagen.

So eine Situation kann dir potentiell aber mit jedem Entwicklungssystem auf jedem OS und jedem Rechner passieren.
Meine Strategie ist mehrstufig:
Stufe 1.
- ich benutze einen Cloud-Speicher (zb Dropbox, Owncloud und Konsorten) für die automatische Sicherung von Sourcecode in der laufenden Arbeit. Die gesamten Sourcen liegen in einem eigenen Verzeichnis außerhalb von Lazarus und werden mit der Cloud synchronisiert.
In dem Moment in dem man in Lazarus speichert wird automatisch im Hintergrund auch in die Cloud synchronisiert und dort auch je nach Einstellungen historische Versionen abgelegt.

- Ein Versionierungssystem (Git, SVN et al.) sorgt als nächste Stufe dafür dass mehr oder weniger fertige Arbeit versioniert wird. Das ist aber ein bewusster manueller Vorgang.

- ich habe auf dem Rechner mehrere Instanzen von Lazarus (mit fpcupdeluxe installiert) und auch unterschiedliche Versionen für unterschiedliche Zwecke (Arbeit, Backup, Komponenten testen, neue Versionen testen etc). Die Installationen laufen weitgehend automatisiert ab in Kombination mit OPM (Online Package Manager) und dessen Fähigkeit einen installierten Zustand zu speichern und wieder herzustellen.

- die Installation mit fpcupdeluxe ist ohnedies anzuraten um auf aktuellste Versionen zugreifen zu können. (Ja, es gibt da unterschiedliche Meinungen wie Programme auf unterschiedlichen OS installiert werden sollen, aber ich bin da pragmatisch)

-OS und Lazarus halte ich weitgehend aktuell oder verwende bewusst alte Versionen für alte Projekte die (noch) nicht migriert sind.

Nun könnte man meinen dass das für Lazarus ein riesiger Aufwand wäre.
Weit gefehlt. Das alles gilt im wesentlichen für jedes Entwicklungssystem. Nur ist das mit Lazarus um Klassen einfacher zu realisieren wie mit anderen Entwicklungssystemen die sich oft tief ins OS eingraben oder eine Parallelinstallation erst gar nicht zulassen.

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

Re: nach Crash - Programm retten

Beitrag von fliegermichl »

Sowas ähnliches hatte ich auch mal.
Ich hatte ein neues Projekt erzeugt, da hat alles funktioniert.
Mein Projekt geladen und alles in der Hose.

Ich hab dann die projekt.lps Datei gelöscht. Da waren dann zwar einige Einstellungen futsch aber ich konnte das Projekt dann wieder laden und compilieren.

Antworten