Registrierdatum: 31.01.2010, 20:05
Beitrge: 122
|
Ich brauche mehrere Funktionen und Prozeduren in mehreren Programmen. Die Programme laufen mit diesen ohne Fehlermeldung. Sobald ich aber aus den mehrfach benutzen Programmteile eine Unit bilde - die brigens ohne Fehlermeldung geprft wird - und diese mit uses aufrufe, erhalte ich die Meldung "Unit xxx nicht gefunden oder enthlt Fehler". Die Unit habe ich auch versuchsweise leer, also nur 'end.' aufgerufen, die Fehlermeldung bleibt. Alle anderen Units machen keine Probleme.
Kann mir jemand weiterhelfen? |
Registrierdatum: 31.01.2010, 20:05
Beitrge: 122
|
Habe das Problem gelst auf andere Art und Weise: habe eine 'fehlerfreie' Unit kopiert und die Kopie eingebunden. Ergab keine Fehlermeldung. Dann den Unit-Inhalt durch den Inhalt der angemotzten Unit ersetzt und siehe da: es gab keine Fehlermeldung mehr. Was mit der angemotzten Unit los ist wei ich nicht. Es wre aber schon fr mich interessant, weshalb dieses Verhalten auftrat. |
Admin, Spielsatz GalWar
Registrierdatum: 31.08.2005, 21:51
Beitrge: 5596
|
Ohne details kann ich nur vermuten, aber es gibt im Zusammenhang mit den im GalWar benutzten Units einen vielleicht hnlichen Effekt.
Dort habe ich das Problem dann durch eine Forward-Deklaration der Funktionen in der kritischen Unit gelst.
Das Problem besteht darin, dass die Deklarationen bei Pascal (was die Basis fr X-Skript bildet) sehr strikt sind, und die Units nur ber einen einfachen Mechanismus per Reihenfolge eingebunden werden. Und einige der Fehlerprfungen vom Skripteditor erkennen dann in bestimmten Units die Funktionen nicht rechtzeitig, wenn sie nicht separat vorab deklariert werden.
(in dem speziellen Fall im GalWar hatte ich quasi etwas hnliches wie einen Zirkelbezug erzeugt, mit dem die Fehlerprfung nicht klar kam) |
Registrierdatum: 31.01.2010, 20:05
Beitrge: 122
|
Danke fr deine Erklrung, mit 'forward' musste hier nicht gearbeitet werden.
Ich vermute eher, dass der Editor nicht sichtbare Steuerzeichen im Unitnamen zulsst, da auch die leere Unit angemotzt wurde, obwohl deren Fehlerberprfung (Strg+F9) nichts ergeben hatte. Falls im Namen der Unit ein verstecktes Zeichen war, konnte die berprfung mit (F9) die Unit nicht finden. Dies ist bis jetzt fr mich die zutreffendste Erklrung. Nun die Unit ist weg, ihr Ersatz arbeitet zu meiner Zufriedenheit und bald ist Weihnachten. |