Das Lazdbf Package sollte genutzt werden und zeigte via Heaptrc Aufräumprobleme aufgrund der Indexnutzung.
Daraufhin wollte ich DBF.pas debuggen um die Ursache zu suchen.
Das DBFLaz package zeigt als Dateien brav registerdbf.pas und dbf.pas an.
Register.dbf liegt in Laz..\components unter tdbf und dbf.pas in lazarus\fpc\3.0.0\source\packages\fcl-db\src\dbase.
Wenn nun irgendetwas in dbf.pas eingetragen wird, hat das keinerlei Einfluss auf das Compilieren des Packages.
Ein Löschen von dbf.ppu in laz..\fpc\3.0.0.\units\i386-win32\fcldb wird mit einer Fehlermeldung quittiert und
dbf.ppu wird nicht erneut erstellt, obwohl das package die quelltextdatei "dbf.pas" offensichtlich kennt.
An welcher Einstellung eines/dieses package muss man "drehen", um dieses Verhalten zu beenden ?
(ich hoffe, dass aufgrund dieser Änderung dann auch das debuggen von dbf.pas möglich sein wird)
package reagiert nicht auf Quellcode...
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: package reagiert nicht auf Quellcode...
Das Package macht Units, die vom Compiler ausgeliefert werden, der Lazarus-IDE verfügbar.
Du hast folgende Möglichkeiten:
Du hast folgende Möglichkeiten:
- Du änderst den Ausgabepfad des Packages; dann solltest du alle *.o und *.ppu Dateien aus dem unsprünglichen Verzeichnis löschen, damit keine doppelten Dateien vorhanden sind. Bei einem Update von Lazarus musst du das Package erneut anpassen.
- Du übersetzt den Teil des FPCs neu ("make packages"?); ggf. musst du dir den Quellcode von der FPC-Seite herunterladen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 140
- Registriert: Fr 21. Nov 2008, 11:29
- OS, Lazarus, FPC: Winux (L 1.0.6.xy FPC 2.6.z)
- CPU-Target: 32/64Bit
Re: package reagiert nicht auf Quellcode...
Danke für die schnelle Antwort !
zu 1.: ich könnte den Ausgabepfad auf das der registerunit verweisen lassen;
aber davor scheue ich, weil ich immer versuche, die Originalstruktur mögl. beizubehalten.
(Ist aber als Plan B gut vorstellbar)
zu 2.: lässt sich "make packages" aus der IDE heraus ausrufen ?
Ich habs versucht via "Werkzeuge / fpc-quelltextverzeichnis neu einlesen",
aber da gibts leider keine Fehlermeldung obwohl ich einen Unsinnstext als Marker in die source.datei geschrieben habe
3.später soll ja dbf.pas beim debuggen berücksichtigt werden. Gibt es dafür eine Einstellung ?
zu 1.: ich könnte den Ausgabepfad auf das der registerunit verweisen lassen;
aber davor scheue ich, weil ich immer versuche, die Originalstruktur mögl. beizubehalten.
(Ist aber als Plan B gut vorstellbar)
zu 2.: lässt sich "make packages" aus der IDE heraus ausrufen ?
Ich habs versucht via "Werkzeuge / fpc-quelltextverzeichnis neu einlesen",
aber da gibts leider keine Fehlermeldung obwohl ich einen Unsinnstext als Marker in die source.datei geschrieben habe
3.später soll ja dbf.pas beim debuggen berücksichtigt werden. Gibt es dafür eine Einstellung ?
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: package reagiert nicht auf Quellcode...
Nein, der Befehl "make packages" wird auf der Kommandozeile im Quelltextverzeichnis des FPC aufgerufen. Details zum erstellen des Compilers findest du in der BuildFAQarturx hat geschrieben:zu 2.: lässt sich "make packages" aus der IDE heraus ausrufen ?
Ich habs versucht via "Werkzeuge / fpc-quelltextverzeichnis neu einlesen",
aber da gibts leider keine Fehlermeldung obwohl ich einen Unsinnstext als Marker in die source.datei geschrieben habe
3.später soll ja dbf.pas beim debuggen berücksichtigt werden. Gibt es dafür eine Einstellung ?
Am besten lädst du dir hierzu den Quelltext des Compilers separat herunter und stelltst später in den Lazarus-Optionen den zu verwendenden Compiler um.
Du kannst folgende Befehl verwenden um die Free Pascal Packages mit Debuginformationen neu zu erstellen. Dies wirkt sich nicht nur auf die eine Unit aus sondern auf alle Free Pascal Packages.
Code: Alles auswählen
make packages OPT="-gl"
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 140
- Registriert: Fr 21. Nov 2008, 11:29
- OS, Lazarus, FPC: Winux (L 1.0.6.xy FPC 2.6.z)
- CPU-Target: 32/64Bit
Re: package reagiert nicht auf Quellcode...
Die o.a. Tips werde ich auf alle Fälle demnächst ausprobieren : Meine Neugier ist geweckt !
(Bis jetzt hatte ich mich nie um fpc und die Kommandozeile kümmern müssen, es ging so schön automatisch...)
Mein aktuelles quick and dirty workaround zum debuggen ist Folgendes :
1.copy die dbf_*.pas Dateien aus C:\lazarus\fpc\3.0.0\source\packages\fcl-db\src\dbase\ --> components\tdbf\
2.package tdbf neu compilieren (damit werden die o.a. dateien direkt genutzt)
3.debuggen
4.Wenn alles erledigt ist (drückt die Daumen dass ich den Fehler finde !) :
1.copy die geänderten dbf...ppu und dbf...o Files aus tdbf --> C:\lazarus\fpc\3.0.0\units\i386-win32\fcl-db\
2.entferne die geänderten source und bin files aus components\tdbf\
3.erstelle lazarus neu. (das kompiliert dann tdbf automatisch mit den fpc ppu / o Files)
4.teile die Änderungen dem Bugtracker mit.
--> Ich hoffe, dass der Bugtracker die richtige Stelle ist, da tdbf ja "discarded" ist.
wenn jemand ein besseres Ziel kennt, teilt es bitte mit !
(Bis jetzt hatte ich mich nie um fpc und die Kommandozeile kümmern müssen, es ging so schön automatisch...)
Mein aktuelles quick and dirty workaround zum debuggen ist Folgendes :
1.copy die dbf_*.pas Dateien aus C:\lazarus\fpc\3.0.0\source\packages\fcl-db\src\dbase\ --> components\tdbf\
2.package tdbf neu compilieren (damit werden die o.a. dateien direkt genutzt)
3.debuggen
4.Wenn alles erledigt ist (drückt die Daumen dass ich den Fehler finde !) :
1.copy die geänderten dbf...ppu und dbf...o Files aus tdbf --> C:\lazarus\fpc\3.0.0\units\i386-win32\fcl-db\
2.entferne die geänderten source und bin files aus components\tdbf\
3.erstelle lazarus neu. (das kompiliert dann tdbf automatisch mit den fpc ppu / o Files)
4.teile die Änderungen dem Bugtracker mit.
--> Ich hoffe, dass der Bugtracker die richtige Stelle ist, da tdbf ja "discarded" ist.
wenn jemand ein besseres Ziel kennt, teilt es bitte mit !