Ich habe seit kurzem festgestellt, daß meine Arbeitsweise - editieren und ausführen über Run (mit/ohne Debug) - nicht mehr so geht.
Es kommt dann immer eine Fehlermeldung, sinngemäß daß was mit den Datümern/Stand nicht stimmt und ich muß erst "neu compilieren", dann kann ich ausführen.
Kann sein, daß ich etwas aus der Übung bin, weil ich zuletzt wenn überhaupt dann nur in VisualStudio (Python) oder Eclipse(Java) gearbeitet habe - und ja mich da auch
gewundert, daß das automatische Compilieren nach Änderungen UND/ODER nicht einmal das Quelltext-Speicher automatisch geht und mich geärgert habe.
Weil, so war meine Erinnerung, in Lazarus hat er doch immer gespeichert/bei Bedarf compiliert.
Was habe ich mir verstellt? Sind es Projekteinstellungen oder was an der IDE? Da ich verschiedene PC und Lazarus Versionen benutze, kann ich gar nicht mal sagen,
wann es auftritt und ob immer und unter welcher Version (3.6 bis runter zur 2.2.6), aber es ist auffällig erst seit kurzem (ca 3 Monate) und möglicherweise auch nur bei
bestimmte n Projekten
Warum schlägt das automatische Compilieren (manchmal) fehl
- af0815
- Lazarusforum e. V.
- Beiträge: 6845
- 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: Warum schlägt das automatische Compilieren (manchmal) fehl
Arbeitest du mit verschiedenen Lazarus/fpc am selben PC ? Oder sharst du auch die kompilierten Units zwischen Rechnern. Weil das klingt verdächtig danach.
Falls du GIT verwendet, so gehören die kompilierten Units und andere Kompilate nicht in Repo.
Falls du GIT verwendet, so gehören die kompilierten Units und andere Kompilate nicht in Repo.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Warum schlägt das automatische Compilieren (manchmal) fehl
ich habe gerade einen Versuch an einem PC gemacht mit Lazarus 3.6 und einem Programm, welches gestern noch "ging" mit dem grünen Pfeil. Heute auch.
Dann habe ich eine Zeile geändert und wieder grünen Pfeil gedrückt, folgende Meldung kommt 3x:
Error: Undefined symbol: ZEIT_::=::\_INTERVALL_START$SMALLINT::=::\SHORTSTRING
Error: Undefined symbol: ZEIT_::=::\_INTERVALL_STOP$SMALLINT::=::\SHORTSTRING
Error: Undefined symbol: ZEIT_::=::\_INTERVALL_DAUER$SMALLINT::=::\SHORTSTRING
Die Namen kommen mir bekannt vor, sie stammen aus einer Unit, die ich hier anwende. Ich habe die ZEIT Unit nicht verändert und die PPU ist vom 28.01.
Das bleibt auch so, wenn ich "neu kompilieren" drücke, aber nach dem Compilieren geht der grüne Pfeil (F9) wieder.
Und nein, wenn ich Projekte zwischen Rechnern transferiere, compiliere ich eh meist neu, im Zweifel lösche ich auch alle (eigenen) PPU vor Änderung.
GIT benutze ich nicht. Und mit mehreren PC war gemeint, daß das Phänomen nicht nur an einem Rechner/Lazarus auftaucht. OK ich könnte jetzt mal
ein anderes/älteres Projekt probieren.
Dann habe ich eine Zeile geändert und wieder grünen Pfeil gedrückt, folgende Meldung kommt 3x:
Error: Undefined symbol: ZEIT_::=::\_INTERVALL_START$SMALLINT::=::\SHORTSTRING
Error: Undefined symbol: ZEIT_::=::\_INTERVALL_STOP$SMALLINT::=::\SHORTSTRING
Error: Undefined symbol: ZEIT_::=::\_INTERVALL_DAUER$SMALLINT::=::\SHORTSTRING
Die Namen kommen mir bekannt vor, sie stammen aus einer Unit, die ich hier anwende. Ich habe die ZEIT Unit nicht verändert und die PPU ist vom 28.01.
Das bleibt auch so, wenn ich "neu kompilieren" drücke, aber nach dem Compilieren geht der grüne Pfeil (F9) wieder.
Und nein, wenn ich Projekte zwischen Rechnern transferiere, compiliere ich eh meist neu, im Zweifel lösche ich auch alle (eigenen) PPU vor Änderung.
GIT benutze ich nicht. Und mit mehreren PC war gemeint, daß das Phänomen nicht nur an einem Rechner/Lazarus auftaucht. OK ich könnte jetzt mal
ein anderes/älteres Projekt probieren.
Re: Warum schlägt das automatische Compilieren (manchmal) fehl
Hm, Mist. Ein Projekt von 2024 mit (unveränderten) Quellcode und Units (u.a. ZEIT) - das Problem tritt nicht auf, die PPU bleibt auch gleich auf 2024, nur die EXE des Hauptprogramms ändert sich. Vermute es liegt also am Aufruf der 3 Funktionen. Mal schauen.
- af0815
- Lazarusforum e. V.
- Beiträge: 6845
- 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: Warum schlägt das automatische Compilieren (manchmal) fehl
Hast du Komponenten eingebunden, die andere Komponenten einbinden, nicht das da zirkulare Kompilierreferenzen entstanden sind. Ich hatte sowas schon öfters bei mir gehabt. Da musste ich damals meine eigenen Pakete anders strukturieren.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Warum schlägt das automatische Compilieren (manchmal) fehl
Ich habe keine richtige Erklärung aber immerhin eine Lösung.
Im Projekt(Grund)verzeichnis gab es die ganzen PPU von offenbar einer FreePascal Batch Compilierung. Die habe ich gelöscht und sie wurden neu erzeugt aber in einem Unterverzeichnis. Jetzt geht die automatische Umwandlung wieder. Zusätzlich gab es auf einem Verzeichnis (ich halte das Projekt in Versionen zB so projekt_d250129) eine alte ZEIT-Unit (Pas). Ich weiß jetzt nicht genau welche der beiden Nachlässigkeiten den Effekt verursacht hat aber zumindest hatte ich das mit dem lokalen PPU und dem im (32bit) Unterverzeichnis schon mal festgestellt.
Da dies eigentlich ein Konsolenprogramm ist, mache ich schon mal FPC Batch. Mittlerweile lerne ich die Tücken kennen,die mir bisher nicht so bewußt waren
Im Projekt(Grund)verzeichnis gab es die ganzen PPU von offenbar einer FreePascal Batch Compilierung. Die habe ich gelöscht und sie wurden neu erzeugt aber in einem Unterverzeichnis. Jetzt geht die automatische Umwandlung wieder. Zusätzlich gab es auf einem Verzeichnis (ich halte das Projekt in Versionen zB so projekt_d250129) eine alte ZEIT-Unit (Pas). Ich weiß jetzt nicht genau welche der beiden Nachlässigkeiten den Effekt verursacht hat aber zumindest hatte ich das mit dem lokalen PPU und dem im (32bit) Unterverzeichnis schon mal festgestellt.
Da dies eigentlich ein Konsolenprogramm ist, mache ich schon mal FPC Batch. Mittlerweile lerne ich die Tücken kennen,die mir bisher nicht so bewußt waren