GeisterForm im Quellcode

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
luriv
Beiträge: 3
Registriert: So 29. Nov 2009, 00:14

GeisterForm im Quellcode

Beitrag von luriv »

Hallo,

ich bin über einen bug gestolpert :| .

Experimentiere etwas mit mercurial und da hab ich festgestellt, ich habe geister im Projekt. Das "lib" verzeichnis hab ich auf ignorieren gesetzt, wird sowieso auf jedem system beim kompilieren erzeugt.

Hatte eine "TestForm", dieses nach dem ich es nicht mehr benötigte im Projektinspektor entfernt, auch sonst alles was mit der Form im restlichen Quellcode in Verbindung stehen könnte gelöscht bzw auskommentiert. Die Quellcodedateien der Testform lasse ich aber im Verzeichnis. Das kompilieren klappte auch. an das Masterrepository geschickt. von dort aus auf meinem Windows-Laptop neuen clone erzeugt und in Lazarus geöffnet. Jetzt steigt Lazarus aus, weil er die TestForm.lrs nicht findet. Füge ich die Testform wieder dem Projekt hinzu compiliert er ohne Probleme, entferne ich die TestForm aus dem Projekt kann er auch weiterhin compilieren. Lösche ich aber unter lib\i386-win32 alles was zu TestForm gehört, steigt Lazarus wieder aus.
Nach löschen der unittestform.ppu wird diese wieder erzeugt, nach dem Löschen der der unittestform.lrs, unittestform.o steigt der Compiler wieder aus. Erst wenn ich die unit wieder dem Projekt hinzu füge läuft es wieder. Verschiedene Versuche unter Linux zeigten die selbe Wirkung.

Irgendwie scheinen beim entfernen von Units noch Rester zu verbleiben weshalb die compilate unter lib weiterhin benötigt werden.

System: Linux (openSuSE 11.2) und Windows XP
Lazarus Version: 0.9.28.3 (FPC 2.2.4) (Windows und Linux); Snapshot 0.9.29 (FPC 2.3.1) 20091205 (Windows)

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: GeisterForm im Quellcode

Beitrag von monta »

Das ist wahrscheinlich kein bug.

Wie hast du die Unit den genau "entfernt"? Da muss irgendwo noch eine Referenz sein. Hast du mal die "Suche in Dateien" über das Projektarchiv laufen lassen, um zu sehen, wo die "entfernte" unit sich noch versteckt? (Dateifilter auf * )

//was mir gerade noch einfällt: Schau mal in die Projektdatei (*.lpr) dort unter Uses aufgeführte Units werden nicht automatisch gelöscht, wenn man die Unit aus dem Projekt entfernt. Wahrscheinlich steht die dort noch drin, falls ja, kannst du die dort einfach löschen.
Johannes

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: GeisterForm im Quellcode

Beitrag von af0815 »

Mittels

Projekt -> Projekt veröffenlichen

das Projekt 'umkopieren', dabei bereinigt Lazarus die Geister. Hilft auch wenn man zwischen Versionen wechslt bzw. zwischen den Plattformen (IMHO).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten