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 ...)
nach Crash - Programm retten
Re: nach Crash - Programm retten
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.
Re: nach Crash - Programm retten
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.
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.
-
- Beiträge: 1066
- 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
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.
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.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1647
- 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
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.
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.