Autor Beitrag
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 13.04.03 13:43 
Bei meinem Project hab ich mal mehrere TPanels gebraucht. Eines davon brauch ich jetzt nicht mehr, daher hab ich das Panel markiert und <DEL> gedrückt.
Dann war das Panel weg, wie es auch sein sollte.
PROBLEM: Jetzt läuft der Compiler zwar komplett durch, aber das Programm startet nicht. Stattdessen kommt die Meldung
"Exception EClassNotFound in module proj1.exe at 00015ada. Class TPanel not found"
Wenn ich ein leeres TPanel wieder auf die Form klatsche, kommt die Meldung nicht mehr.
Was kann man dagegen tun?

_________________
We are, we were and will not be.
blackbirdXXX

ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1077
Erhaltene Danke: 1

Ubuntu Dapper

BeitragVerfasst: Mo 14.04.03 09:37 
Irgend eine Komponente benötigt das Panel. Es könnte auch sein das das Panel im Quelltext oben noch deklariert ist. Dort müsstest du dann das Panel löschen.
Eine andere Lösung wäre ein Panel auf das Formular zu setzten und Visible auf false zu stellen.

_________________
Klein, schwarz und ärgert Techniker? Jumper!
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 14.04.03 10:04 
hmm..wenn das Panel irgendwo noch gebraucht wird, dann sollte doch der Compiler eine Warnung oder nen Fehler ausspucken. Das tut er aber nicht.
Compilieren kann ich das Programm, nur "Run" klappt nicht.
Auch bei "Build Project" meckert er nicht rum, aber wenn ich dann die exe starte, kommt die tolle xp-message, dass mein Programm ein Problem festgestellt hat, und deshalb beendet wird. Und ich soll doch bitte den Problembericht an Microsoft senden.
Vielleicht sollte ich das ja mal tun, und der große Bill löst das dann für mich :-D

Wenn ich das nicht langsam mal in den Griff bekommen, sehe ich auch nur die (sehr bescheidene) Option, eine völlig sinnlose, unsichtbare Komponente einzubauen :?

_________________
We are, we were and will not be.
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Mo 14.04.03 10:56 
Anscheinden greift irgendwas in deinem Prog auf die Klasse TPanel zurück, aber der Linker hat diese aus deinem Prog entfernt. Entweder du findest die entsprechende Stelle und schaust warum da die Klasse benötigt wird oder aber du sorgst mit einem Aufruf von RegisterClass dafür, dass die Klasse TPanel registriert und erkannt wird.

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 14.04.03 11:05 
ok, das hört sich so an, als wär das ne gute Idee. Nur leider verstehe ich diese Antwort nicht ganz.
Dass irgendwas auf Tpanel zugreift, ist mir schon klar, habe schließlich noch andere Panels in dem Programm.
Aber wie und wo muss den Aufruf RegisterClass setzen, um TPanel zu registrieren?

_________________
We are, we were and will not be.
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 14.04.03 11:21 
egal, hab das Problem durch nen blöden Trick behoben. Hab einfach noch ein anderes Panel von der Form gelöscht, und wieder ein neues hinzugefügt, so dass der Linker oder wer auch immer zufrieden ist :?
Jetzt gehts, und ich hab auch kein unsichtbares nutzloses Panel rumliegen.

Danke trotzdem für die Hilfe.

_________________
We are, we were and will not be.