Domino 9 und frühere Versionen > ND8: Entwicklung

Code wird nicht kompiliert

(1/2) > >>

bikerboy:
Hallo,

ich weiss echt nicht mehr weiter.

Folgendes Szenario:

Anwendung läuft über Jahre ohne Probleme. Keiner hat irgendwas geändert (Natürlich nicht). Auf einmal ein Fehler.
Ich bekomme die Meldung "Cannot find external name 'Workspace'"
Also gehe ich in meinen Code und sehe ein "Dim Workspace as NotesUIWorkspace" in der global Sparte meiner Teilmaske. Dann bemühte ich den Debugger um den Status von meiner Variable zu erkunden mit dem Ergebnis "Workspace = Nothing". Also kurze Überprüfung auf Nothing eingebaut und nochmal debuggt. Ergebnis diesmal. Gleiche Fehlermeldung auf einer "LEERZEILE" !!! Da bin ich ja noch gelassen geblieben. Dachte komm Notes hat einen schlechten Tag. Rekompilierst du einfach alles mal. Keine Besserung! dann habe ich den Code komplett geändert, so das in der Aktion überhaupt kein "Workspace" mehr vorkommt. Immer noch die selbe Fehlermeldung. Dann habe ich es mit diversen Neustarts des Notes und Rechners versucht immer ohne Besserung.
Zu guter letzt und total Endmutigt habe ich noch ein einfaches Compact auf die Datenbank versucht, ebenfalls ohne Ergebnis.

Nun bin ich für jeden Vorschlag dankbar.

pram:
Ein Recompile All unter 8.5.1 kompiliert keine Teilmasken. (da wurde wieder etwas überoptimiert)
Unter 8.5.2 wurde das scheinbar gefixed, dafür klappt es mit den Shared Actions in Views nicht immer
Compiliere die DB mit notes 7 falls du die Möglichkeit hast.

Gruß
Roland

marschul:
Ich hatte letztens ein ähnliches Problem, da hat's eine ScriptLibrary irgendwie zerschossen. Im Client äußerte sich das durch die von Dir beschriebene Meldung 'Cannot find...' und der Designer hat jedes Mal beim Schließen der Library gefragt, ob die Änderungen gespeichert werden sollen, auch wenn ich nix gemacht habe. Mit Änderungen speichern hatte leider nichts gebracht. Durch Neuerstellen der Library und ReSave aller aufrufenden Elemente (bzw. Recompile) ging's dann wieder.
Für mich bedeutet die Meldung, dass eine Library nicht gefunden wird, mglw. hat das gar nichts mit der Variable zu tun...

koehlerbv:
Das üble ist auch, dass 8.5 in den Items $Script und $Script_x den dargestellten *und* den vermeintlich zuletzt funktionierenden Quellcode speichert (angezeigt bekommt man natürlich immer nur das Zeug aus $Script). Das heisst aber nicht, dass dieser Code auch ausgeführt wird.

Wegen der Fehlermeldung: Das heisst in den seltensten Fällen, dass die ScriptLibrary nicht gefunden wird, sondern in der Regel, dass der aufrufende Code nichts von dem aktuellen Zustand (kompiliert!) der ScriptLibrary weiss. Was in der Regel auch verschiedene Ursachen haben kann.

Auf jeden Fall sind die Änderungen in 8.5 zwar gut gemeint, aber haben die Situation erstmal nur verschlimmbessert.

Bernhard

PS: Ein 7er Ersatzclient bietet oftmals tatsächlich die schnellste Reparaturmöglichkeit. Und das kann nicht im Sinne des Erfinders sein.

marschul:

--- Zitat von: koehlerbv am 31.05.11 - 22:05:43 ---Wegen der Fehlermeldung: Das heisst in den seltensten Fällen, dass die ScriptLibrary nicht gefunden wird, sondern in der Regel, dass der aufrufende Code nichts von dem aktuellen Zustand (kompiliert!) der ScriptLibrary weiss. Was in der Regel auch verschiedene Ursachen haben kann.
--- Ende Zitat ---

Danke für die genauere Beschreibung - klingt auch viel professioneller ;)

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln