Unklarer Fehler beim Laden von Projekt

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
alfware17
Beiträge: 210
Registriert: Di 14. Dez 2010, 23:27

Unklarer Fehler beim Laden von Projekt

Beitrag von alfware17 »

Ich bekomme, wenn ich mit Lazarus (Version 2.2.6) eine alte Version meines Projektes öffne, eine Fehlermeldung.

"Kann die Komponentenklasse TDataSource nicht finden. Sie ist nicht mittel RegisterClass registriert und keine lfm wurde gefunden! Sie wird benötigt von Unit: und dann folgt ein Pfad zu meiner projekt_main.pas Datei, wo ich den Typ auch benutze".

Aber: Das Projekt compiliert und ich kann eine EXE erstellen, welches auch läuft. Was habe ich übersehen/falsch gemacht? Muß ich eine Einstellung in meiner IDE machen oder ist mein Projekt kaputt? Ich habe schon gesucht, u.a. im Projektinspektor, keine Spur. Ich habe das damals mit einem älteren Lazarus gemacht, ist der Umstieg auf 2.2.6 eventuell nicht sauber von mir passiert? Ich bekomme auch bei einem anderen Programm jetzt Warnings bei einer fgl Unit, die vorher nicht da waren.

EIner der Nachfolger des Projektes (mit dem Datasource) lädt ohne Fehlermeldung. Ich weiß aber nicht, was da anders sein sollte. Kann ich Projekt oder IDE nicht automatisch bereinigen lassen, wenn was fehlt oder zu viel ist?

alfware17
Beiträge: 210
Registriert: Di 14. Dez 2010, 23:27

Re: Unklarer Fehler beim Laden von Projekt

Beitrag von alfware17 »

P.S. Ein anderer Fehler tritt noch auf. Bei dieser Unit/diesem Fenster kann ich nicht per F12 zwischen Quelltext und Formular-Ansicht umschalten? Dann kommt die gleiche Fehlermeldung wie beim Start/Laden. Sieht mir so aus, als wenn da eines meiner verwendten Icons/Ressourcen fehlt. Aber warum? Und wieso ist das projektspezifisch? Ich finde das ominös... Und ich möchte doch bloß meine alten Projekte archivieren und dabei von debug-dicke Exe auf nicht-debug umstellen. Heul....

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

Re: Unklarer Fehler beim Laden von Projekt

Beitrag von wp_xyz »

alfware17 hat geschrieben: Mo 8. Mai 2023, 15:35 "Kann die Komponentenklasse TDataSource nicht finden. Sie ist nicht mittel RegisterClass registriert und keine lfm wurde gefunden! Sie wird benötigt von Unit: und dann folgt ein Pfad zu meiner projekt_main.pas Datei, wo ich den Typ auch benutze".
Das hatte ich gelegentlich auch einige Zeit lang. Öffne die lfm-Datei in einem Editor und schaue dir die Schreibweise von "TDataSource" an. Steht da "TDataSource" oder "TDatasource" (mit großem oder kleinem "s")? Ich weiß nicht mehr was richtig ist, aber ändere das "s" mal in die andere Schreibweise und versuche nochmal, die Datei in der IDE zu öffnen.

alfware17
Beiträge: 210
Registriert: Di 14. Dez 2010, 23:27

Re: Unklarer Fehler beim Laden von Projekt

Beitrag von alfware17 »

wp_xyz hat geschrieben: Mo 8. Mai 2023, 16:30
alfware17 hat geschrieben: Mo 8. Mai 2023, 15:35 "Kann die Komponentenklasse TDataSource nicht finden. Sie ist nicht mittel RegisterClass registriert und keine lfm wurde gefunden! Sie wird benötigt von Unit: und dann folgt ein Pfad zu meiner projekt_main.pas Datei, wo ich den Typ auch benutze".
Das hatte ich gelegentlich auch einige Zeit lang. Öffne die lfm-Datei in einem Editor und schaue dir die Schreibweise von "TDataSource" an. Steht da "TDataSource" oder "TDatasource" (mit großem oder kleinem "s")? Ich weiß nicht mehr was richtig ist, aber ändere das "s" mal in die andere Schreibweise und versuche nochmal, die Datei in der IDE zu öffnen.
Danke für die schnelle Antwort, ja das war es. Es muß ein großes S sein TDataSource. In der lfm-Datei und auch noch in der pas-Datei war es verkehrt bei mir, und ich habe nur einen speziellen PC und ein gewisses Linux in Verdacht, seitdem ich das drin hatte (in ca 30 Versionen/Ordnern, bäh...).

Joh
Lazarusforum e. V.
Beiträge: 280
Registriert: Sa 26. Mai 2012, 17:31
OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
CPU-Target: 64Bit

Re: Unklarer Fehler beim Laden von Projekt

Beitrag von Joh »

Unter Windows (?) würde ich das ganze mit ner Batch-Datei erledigen:

Code: Alles auswählen

SET such='TDatasource'
SET ersetz='TDataSource'

FOR %%d in (*.lfm) do f:\Tools\sed\sed.exe -i "s/%such%/%ersetz%/g" %%d

rem DEL sed*
sed für Windows gibts unter https://gnuwin32.sourceforge.net/packages/sed.htm
Wenn Linux, dann halt 'n Shell-Script

PS: sed schreibt Sicherheitsdateien; dafür dann das DEL sed*
just my two Beer

Antworten