Fehler Class not found bei der Ausführung unter MacOS (Ventura)

Antworten
rossi
Beiträge: 2
Registriert: Sa 25. Mai 2024, 13:32
OS, Lazarus, FPC: MacOS, L 3.2, FPC 3.2.2
CPU-Target: 64Bit

Fehler Class not found bei der Ausführung unter MacOS (Ventura)

Beitrag von rossi »

Ich habe mir heute auf meinem MacOS Ventura ein frsiches Lazarus 3.2 mit FPC 3.2.2 installiert. Ich habe Extra nach dieser Anleitung: https://wiki.freepascal.org/Installing_Lazarus_on_macOS installiert. und schön brav erst Xcode Konsolen-Tools, dann FPC, dann FPC-SRC installiert. Dann auch schön ein hello-world.pas erstellt, erfolgreich kompiliert und ausgeführt. Dnach habe ich Lazarus Binary install gemacht und hab auch die debugger Optionen gecheckt.
Dann habe ich mit einem neuenProjekt einfach mal "run" gedrückt und es wurde alles kompiliert und das erzeugte Programm (leeres Form) anstandslos ausgeführt.
Soweit so gut.
Aber wenn ich jetzt irgendeine Komponente auf dieses Form lege und dann das Programm starte wird zwar wieder anstandslos kompiliert und das Programm dann auch gestartet, aber es kommt immer eine Fehlermeldung der Art:

Projekt project1 hat Exception-Klasse »EClassNotFound« ausgelöst mit der Meldung:
Class |"TLabel'" not found

In diesem Beispiel habe ich ein Label auf der Form plaziert. Nehme ich das Label weg und platziere anstelle einen Button auf dem Form kommt (wer hätte es gedacht):

Projekt project1 hat Exception-Klasse »EClassNotFound« ausgelöst mit der Meldung:
Class |"TButton|" not found

Und das natürlich nicht nur bei den Standard Controls sondern bei jedem beliebigen Control aus der Palette.
Und die Fehlermeldung kommt auch, wenn ich das Programm aus dem Finder durch Doppelklick starte. Also nicht nur wenn es in der IDE im Debugger läuft.
Kann mir da irgendjemand helfen?
MacOS Ventura, fpc 3.2.2, laz 3.2

rossi
Beiträge: 2
Registriert: Sa 25. Mai 2024, 13:32
OS, Lazarus, FPC: MacOS, L 3.2, FPC 3.2.2
CPU-Target: 64Bit

Re: Fehler Class not found bei der Ausführung unter MacOS (Ventura)

Beitrag von rossi »

Oha. Ich bin dem Problem etwas näher gekommen. Fragt mich nicht wie, aber durch fummeln mit Werkzeuge => .lfm Datei im Editor überprüfen hatte ich plötzlich ein Form mit einem Button, welches keine Exception geworfen hat. Dann habe ich ein Label hinzugefügt und es kam wieder die Exception. Beim erneuten Prüfen der .lfm Datei hat Lazarus gemeckert, dass in der lfm Datei ein Objekt namens Label1 sei, welches aber nicht in der Unit dazu drin ist. Was in der Tat korrekt war. Also habe ich in der Klasse Form1 ein Label1: TLabel hinzugefügt und schon funktioniert das Programm mit Button und Label.
Nur um sicher zu gehen habe ich ein weitere Label hinzugefügt und so sieht das Ergebnis aus:
Bildschirmfoto 2024-05-25 um 23.10.38.png
Bildschirmfoto 2024-05-25 um 23.10.38.png (26.6 KiB) 333 mal betrachtet
Da fehlt Label2 in der Definition von Form1. Klar, das kann ich jetzt wieder von Hand eintragen. Aber das sollte die IDE doch eigentlich automatisch machen oder?
Ist das ein bekanntes Problem?

Oh und Edit: Wenn ich im Form Designer die Labels und den Button entferne, verschwinden sie auch brav aus der Klassendefinition. Also sowohl aus .lfm als auch aus .pas. Nur das hinzufügen klappt halt komischerweise nicht...
MacOS Ventura, fpc 3.2.2, laz 3.2

Antworten