Autor Thema: Code wird nicht kompiliert  (Gelesen 1769 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Code wird nicht kompiliert
« am: 31.05.11 - 17:17:39 »
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.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Code wird nicht kompiliert
« Antwort #1 am: 31.05.11 - 17:47:20 »
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
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
Re: Code wird nicht kompiliert
« Antwort #2 am: 31.05.11 - 20:54:57 »
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...
Gruß
Marco

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Code wird nicht kompiliert
« Antwort #3 am: 31.05.11 - 22:05:43 »
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.

Offline marschul

  • Senior Mitglied
  • ****
  • Beiträge: 280
  • Geschlecht: Männlich
Re: Code wird nicht kompiliert
« Antwort #4 am: 01.06.11 - 08:54:29 »
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.

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

Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß. (Sokrates)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen. (unbekannt)

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Code wird nicht kompiliert
« Antwort #5 am: 01.06.11 - 09:31:41 »
Man soll unter 8.5 auf jedenfall die Option abhaken, dass man gewarnt wird wenn ein Fehler auftritt, sonst ist es wirklich so wie Bernhard sagt, es gibt 2 Items: $script und $script_error... wobei du mit dem 7er nur das $Script siehst und mit dem 8.5er $script_error falls es vorhanden ist. Es wird dann immer noch der Code aus $script bzw. aus den zuleztzt erstellte Object-Code ausgeführt

Mit 8.5.2 haben sie die Option "Remove Existing Object Code when saving with errors" eingeführt. Das entschärft die Situation etwas. (und bringt wahrscheinlich neue andere Probleme)
Ich entwickle inzwischen gern mit dem 8.5er aber in manchen Dingen hat er sich gegenüber dem 7er verschlimmbessert...
Am tollsten finde ich ja das mit den View-Aktionen wie ich oben erwähnt habe: Es kommt hin und wieder vor, dass ein ViewActionbutton beim Klick den Code eines anderen ausführt... Recompile unter 7 und weg ist es...

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Code wird nicht kompiliert
« Antwort #6 am: 01.06.11 - 11:09:04 »
Zitat
Am tollsten finde ich ja das mit den View-Aktionen wie ich oben erwähnt habe: Es kommt hin und wieder vor, dass ein ViewActionbutton beim Klick den Code eines anderen ausführt... Recompile unter 7 und weg ist es...

Das verhalten kenne ich nur wenn man SharedActions kopiert.

Ich bin gerade dran und habe den Code mit dem 7er Client kompiliert nun muss ich noch testen ob die 8.5.1er Benutzer wieder arbeiten können.

Dann kam gerade mein Chef rein und meinte ob wir schon den neuesten Bug kennen würden. Es ist wohl so, dass der 8.5.2er Domino FP1 unter Linux beim Runterfahren, dass Data-Verzeichnis manchmal löscht. Interessant oder?
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Code wird nicht kompiliert
« Antwort #7 am: 01.06.11 - 16:52:39 »
So hab nun endlich ein Ergebnis.....Alles gut. Der Recompile mit dem 7er Client hat alles gerichtet.


DANKE
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz