Probleme mit Programmstart

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
Oldeman
Beiträge: 24
Registriert: Do 9. Jun 2022, 18:45

Probleme mit Programmstart

Beitrag von Oldeman »

Hallo,
ich habe, nachdem ich etwas Unordnung in meinen Projekten hatte, diese schön systematisch in neuen Ordnern organisiert. Danach habe ich testhalber ein winziges Programm PTest geschrieben. Das ist prima gelaufen. Dieses Programm habe ich dann überall, auch in dem Ordner Backup, komplett gelöscht. Anschließend habe ich ein bestehendes, ausgetestetes Projekt in den Debugger geholt. Wenn ich es dann starten wollte, war dies nicht möglich. Statt dessen bekam ich, je nachdem ob ich die .lpr- oder eine .pas-Datei geladen habe, folgende Meldungen:

Die Datei Unit1.pas kann nicht gelesen werden Diese Unit-Bezeichnung habe ich jedoch sicher nicht vergeben bzw. stets sofort geändert.

Oder:

Kann nicht in die Datei /home/ ... /PTest.lpr schreiben bzw. das gleiche mit .lpi

Oder:

Die Datei (angeklickter Name) scheint die Programmdatei eines vorhandenen Lazarus-Projekts zu sein Das war insoferne richtig, als ich ja dieses Programm zu starten versucht habe. Aber das Programm ließ sich nicht starten.

Zu meiner Person: ich bin vor wenigen Monaten nach ca. 20 Jahren professioneller Delphi-Entwicklung auf Lazarus umgestiegen. Auf die alten Versionen könnte ich nur mit Mühe zurück umsteigen. Ein Backup existiert wohl, passt mir aber nicht mehr ins System ...

Ich bin jetzt a) verwirrt und b) verzweifelt.

Kann mir jemand einen Tip geben, was ich da machen kann?????

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Probleme mit Programmstart

Beitrag von af0815 »

Schau dir nochmals ein neues Projekt an. Das hat eine Struktur.

Laden tut man immer die lpi mit dem Menü Projekt->Open Project. Nichts anders.

Im Projektinspektor Menü Projekt->Projekt Inspektor sieht man welche units in das Projekt eingebunden sind, auch welche Pakete zusätzlich verwendet werden. Das ganze ist anders organisiert als bei Delphi (ich kann mit Delphi nicht mehr umgehen, das Problem ist also in beide Richtungen sich umzu gewöhnen).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Probleme mit Programmstart

Beitrag von Winni »

Hi!

Wenn man Units umziehen lassen will: Immer nur aus der IDE arbeiten - dann bekommt die interne Struktur auch mit, was Du so treibst.

Wenn Du nur einzelne Dateien (Units) des Projekts in andere Ordner verschieben möchtest:

File --> Save as

Er fragt dann auch brav, ob er die alte Datei löschen soll.Das hilft beim Aufräumen.

Wenn Du die Projekt-Datei umziehen möchtest:

Projekt --> Save as

Niemals ein Projekt von außen als Ansammlung von Dateien betrachten:

Toto, we're not in Turbo anymore ....

Immer alles aus der IDE regeln -sonst gibt's Murks.

Winni

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

Re: Probleme mit Programmstart

Beitrag von wp_xyz »

Ein ganz gefährlicher Tipp. Damit kann man sich ganz einfach alles kaputt machen.

Angenommen es soll eine FPC-Unit in ein Projekt kopiert und dort verändert werden (ist manchmal ganz praktisch, wenn man FCL-Units debuggen will). Also wird die Unit aus dem FPC-Verzeichnis geöffnet und dann macht man "Save as". Plötzlich fragt das System: Soll die Unit am Ursprungsort gelöscht werden? AUF KEINEN FALL - damit wäre sie im FPC-Verzeichnis weg! Bei den Lazarus-Packages wird die Unit ungefragt aus dem Package ausgetragen, und man wird gefragt, ob man das geänderte Package speichern will -- NIEMALS! In so einem Fall am besten zur Sicherheit sofort die IDE beenden und die Frage, ob die Änderungen gespeichert werden sollen, verneinen.

Units aus anderen Projekten/Packages immer außerhalb der IDE kopieren und nach dem Kopieren manuell ins Projekt aufnehmen.

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Probleme mit Programmstart

Beitrag von Winni »

wp_xyz hat geschrieben:
Di 6. Dez 2022, 00:01
Angenommen es soll eine FPC-Unit in ein Projekt kopiert und dort verändert werden (ist manchmal ganz praktisch, wenn man FCL-Units debuggen will). Also wird die Unit aus dem FPC-Verzeichnis geöffnet und dann macht man "Save as". Plötzlich fragt das System: Soll die Unit am Ursprungsort gelöscht werden? AUF KEINEN FALL - damit wäre sie im FPC-Verzeichnis weg! Bei den Lazarus-Packages wird die Unit ungefragt aus dem Package ausgetragen, und man wird gefragt, ob man das geänderte Package speichern will -- NIEMALS! In so einem Fall am besten zur Sicherheit sofort die IDE beenden und die Frage, ob die Änderungen gespeichert werden sollen, verneinen.
Wer macht denn so trottelige Sachen?
Kopfschüttel
Ich hab nirgendwo gesagt, dass Lazarus idiotensicher ist.

Winni

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

Re: Probleme mit Programmstart

Beitrag von wp_xyz »

Hast du noch nie eine neue Unit versucht zu speichern und nicht aufgepasst, dass sie gerade nicht im Editor aktiv war, sondern vielleicht eine vorher geladene LCL-Unit? Da passiert genau das, was ich beschrieben habe.

Ja, einem Trottel wie mir passiert das immer wieder. Aber dem Genie winni nie, der macht alles richtig.

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Probleme mit Programmstart

Beitrag von Winni »

wp_xyz hat geschrieben:
Di 6. Dez 2022, 00:54

Ja, einem Trottel wie mir passiert das immer wieder. Aber dem Genie winni nie, der macht alles richtig.
Nee, das ist mir echt noch nie passiert.
Aber ich kann Dir ne ganze Menge andere Dussel-Fehler erzählen, die mir schon passiert sind.
Aber wir sind hier ja nicht bei Fratzenbuch, oder?

Winni

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Probleme mit Programmstart

Beitrag von af0815 »

Man kann ganze Projekte kopieren bzw. verschieben, dann aber bitte immer im Gesamten. Die Pfade innerhalb des Projektes sind normalerweise alle relativ zur Projektdatei gespeichert.

Wenn man Dateien in der Struktur verschiebet so muss man entweder
a ) die dann im Editor und Projekt herausnehmen und neu aufnehmen, zusätzlich die Suchpfade anpassen nicht vergessen.
b ) Die Datei die verschoben werden soll, im Editor öffnen und mit Save As am neuen Platz speichern. Es wird gefragt ob die alte Datei gelöscht werden soll und ob die Referenzen geändert werden sollen. Wenn man die wirklich verschieben will, so ist beides mit ja zu beantworten. Das ist die bevorzugte Methode wenn es wenige Dateien sind.

Dasselbe gilt sinngemäss für die Projektdatei.

Ich habe mit 100erten Projekten zu tun und muss manche davon manchmal auch neu reorganisieren, dann verwende ich a für die groben Sachen und b wenn es wenige Dateien sind. WIchtig ist nur, man muss esentweder Lazarus überlassen die Strukturen anzupassen oder es Lazarus an den richtigen zwei Stellen sagen. Projektinspektor und die Pfade.

Das ein Save AS nur für die gerade aktiv verwendete Datei im Editor gilt muss klar sein, Auch das das Projekt Save As extra für das Projekt ist und nicht mit dem File Save As verschoben werden kann.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Oldeman
Beiträge: 24
Registriert: Do 9. Jun 2022, 18:45

[Gelöst]Re: Probleme mit Programmstart

Beitrag von Oldeman »

Ich habe halt mühsam mittels IDE aus dem Backup mit save as kopiert. Jetzt habe ich einen brauchbaren Stand.
Bei Delphi war das alles egal. da konnte ich einzelne Module öffnen und kopieren ... Die kleinen Unterschiede machen das Leben interessant. :roll:
Oldeman

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Probleme mit Programmstart

Beitrag von af0815 »

Egal ob Delphi oder Lazarus, es gibt verschiedene Spielregeln. Auch verschiedene Wege um ein Projekt wieder grade zu biegen. Wen man die Zusammenhänge kennt ist es natürlich leicht aus voller Hose zu stinken.

Wenn man ein Projekt zerschossen hat, muss man immer zwei Sachen im Auge haben, das was man im Objektinspektor als eingebundene Dateien sieht und noch wichtiger, was in den Pfaden steht. Es gibt Projekte, da steht fast nichts im Projrktinspektor, aber über die Pfade wird alles gefunden.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten