Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: MadMetzger am 19.01.04 - 10:20:53

Titel: Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: MadMetzger am 19.01.04 - 10:20:53
Hallo zusammen,

ich habe ein Problem mit einem Aktionsbutton, der in einem gerade geöffneten Dokument aufgerufen wird.

Sofort nach dem Aufruf der Aktion schmettert Notes mir ein "Object Variable not set" um die Ohren, selbst wenn ich den Debugger eingeschaltet habe... Es wird gar nicht in die Debuggeransicht gewechselt, sondern sofort die Fehlermeldung ausgespuckt und aufgehört.

Hat jemand eine Idee?

EDIT: neue Datei mit aktuellem Code
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: koehlerbv am 19.01.04 - 10:26:04
In solchen Fällen: Bau Dir einen ErrorHandler (On Error Goto ..." und dort dann in einer Massage-Kiste Fehler und Zeile anzeigen lassen).

HTH,
Bernhard
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Semeaphoros am 19.01.04 - 10:26:44
Passiert in dem Falle vermutlich schon im "versteckten" ausführbaren Code in den Dim's und Konsorte.

Versuche mal, die beiden Dim New traditionell zu lösen, also
Dim Session as NotesSession

Set Session = New Notessession

dito für ws

und versuche mal, statt der Const Variant zu verwenden und den Inhalt dann ebenfalls durch einen normalen Assign zu setzen statt schon bei der Definition.
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Glombi am 19.01.04 - 10:27:09
Der Code funktioniert bei mir (Version 4.6.6b deutsch), d.h. er wird gestartet und läuft - auch im Debugger - durch, natürlich mit Fehler, da ich die View, Felder nicht habe.
Wahrscheinlich stimmt was anderes in der Maske nicht.

Andreas
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Glombi am 19.01.04 - 10:30:11
Was mir aufgefallen ist: Die Umlaute werden mit Sonderzeichen angezeigt, so als ob Du das aus Word kopiert hast. Wahrscheinlich hat sich irgendwo ein nicht sichtbarer Character eingeschlichen.

Mach mal folgendes: Kopier den Code aus der angehängtes TXT Datei und lösche das Click Event komplet. Dann füge den Code wieder ein.

Andreas
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: MadMetzger am 19.01.04 - 10:41:15
Das traditionelle Set hat nichts bewirkt... schade.

Ich nutze die beiden const für ein evaluate, wenn ich die beiden als variants definiere, sagt er mir, dass er für evaluate eine Stringkonstante benötigt...

Baue mal ein Error Handle ein...

EDIT: @Glombi:Den Code habe ich nicht aus Word o.ä. kopiert, arbeite unter OS/2, das arbeitet mit einem anderen Zeichensatz als Windows...
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: MadMetzger am 19.01.04 - 11:35:48
Mit dem ErrorHandle zeigt er mir an, dass der Fehler Object Variable not set in Zeile 57 auftaucht, aber in der Zeile steht bei mir kein Code... Habe einfach in der Designansicht, den Code Zeile für Zeile heruntergezählt und bin dann in einer leeren Zeile gelandet...
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Semeaphoros am 19.01.04 - 11:38:57
Bei 57 ist das Zählen so eine Sache. Nimm den Code mal in einen Editor, der Dir Zeilennummern anzeigt und vielleicht postest Du ihn in dem Zustand, wie er war, als er Dir die 57 gesagt hat.
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Glombi am 19.01.04 - 11:46:35
Generell: Wenn Du per GetDocumentByKey ein Dokument holst, immer abfragen, ob es ungleich Nothing ist.

Einmal bei
 Set abzdoc = view.getdocumentbykey ( key )
     Set feld = abzdoc.getfirstitem ( "MABVSekTX")

und dann
               Set altdoc = aktview.getdocumentbykey ( key )
               altdoc.MARStatusTX = "50"

Und das GetDocumentByKey IMMER mit True als 2. Parameter!

Andreas
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: koehlerbv am 19.01.04 - 11:52:11
@madmetzger:
Warum zählst Du denn händisch ? Der Designer zeigt Dir doch die Zeile an, in der der Cursor gerade steht ...

Ergänzung zu Glombi's Posting:
Man sollte eigentlich JEDES Objekt nach dem Instantiieren prüfen, ob das auch geklappt hat.
Und: GetDocumentByKey mit Parameter "True", wenn das so gewünscht ist. Auch "False" kann ja durchaus Sinn machen.

Bernhard
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: MadMetzger am 19.01.04 - 11:54:45
@Koehlerbv: in R4 nicht... (siehe Signatur)
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Semeaphoros am 19.01.04 - 11:56:49
Bernhard, hat der 4er das schon gehabt? Ich dachte, das zeigt erst der 5er an.
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: koehlerbv am 19.01.04 - 11:57:15
Oh ja, Lesen bildet eben ... Sorry.
Trotzdem sollte aber die Zeilenangabe richtig sein.
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Glombi am 19.01.04 - 11:57:24
Und: GetDocumentByKey mit Parameter "True", wenn das so gewünscht ist. Auch "False" kann ja durchaus Sinn machen.
Stimmt, das IMMER schwäche ich ab: "Immer, wenn eine exakte Übereinstimmung gewünscht wird". Sonst ist Mad Metzger = Mad Dog  ;D

Andreas
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: koehlerbv am 19.01.04 - 12:00:19
Naja, manchmal will ja man nur wissen, ob es überhaupt einen Bösen gibt  ;D

Bernhard
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: animate am 19.01.04 - 12:01:58
Und: GetDocumentByKey mit Parameter "True", wenn das so gewünscht ist. Auch "False" kann ja durchaus Sinn machen.

hast du zufällig ein Beispiel parat, wo das Sinn macht?
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: MadMetzger am 19.01.04 - 12:12:54
Es lag auf jeden Fall an den GetDocumentByKey, da die Doks, auf die darüber vorher erzeugt werden, wenn alles seinen normalen Gang geht, habe ich das nicht überprüft. Sollte ich mir aber vielleicht angewöhnen. Hintergrund bei dieser Geschichte ist, dass die Datenbank, aus der dieser Code stammt mit einem Anfangsbestand gefüllt werden soll, um den Verantwortlichen Arbeit bei der Neuerfassung zu sparen... Daher werden nicht alle WorkflowAktionen durchlaufen und das Dokument, für abzdoc kann dann nicht gefunden werden, da es ja nicht existiert. Es wird bei normalem Ablauf früher erstellt und ist daher bei Aufruf dieser Aktion schon existent.

Auf jeden Fall ein großes Dankeschön für die schnelle und kompetente Hilfe von euch... bin ich eigentlich nicht anders gewohnt hier...

Auf jeden Fall werde ich das mit dem Überprüfen jetzt häufiger einsetzen...
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Glombi am 19.01.04 - 12:22:43
Und: GetDocumentByKey mit Parameter "True", wenn das so gewünscht ist. Auch "False" kann ja durchaus Sinn machen.

hast du zufällig ein Beispiel parat, wo das Sinn macht?
In Formelsprache gibt es etwas ähnliches, @Soundex genannt. Ich verwende das, wenn ich eine unscharfe Suche machen will - weniger mit GetDocumentByKey sondern mit GetAllDocumentsByKey.
Beispiel: Der User gibt als Firma "Micro" an und bekommt dann alles zurück, was so anfaengt: Microsoft, Microdoof, Microschrott
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: animate am 19.01.04 - 13:02:46
Und: GetDocumentByKey mit Parameter "True", wenn das so gewünscht ist. Auch "False" kann ja durchaus Sinn machen.

hast du zufällig ein Beispiel parat, wo das Sinn macht?
In Formelsprache gibt es etwas ähnliches, @Soundex genannt. Ich verwende das, wenn ich eine unscharfe Suche machen will - weniger mit GetDocumentByKey sondern mit GetAllDocumentsByKey.
Beispiel: Der User gibt als Firma "Micro" an und bekommt dann alles zurück, was so anfaengt: Microsoft, Microdoof, Microschrott

mit AllDocumentsByKey seh ich auch den Sinn. aber ich seh ihn halt nicht, wenn ich genau ein Dokument suche.
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Semeaphoros am 19.01.04 - 14:36:54
Na, wenn Dein Ablauf die unscharfen Dokumente selber durchlaufen will, kann das schon Sinn machen. Ist aber wahrscheinlich so, dass die Funktion von GetAll her eben schon da war und warum dann nicht zur Verfügung stellen, irgendwer könnte das ja dann brauchen ....
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Glombi am 19.01.04 - 14:54:50
GetDocumentByKey gab es seit Notes 4.0, das GetAllDocumentsByKey ist erst später - ich glaube 4.5 - hinzugekommen.
Man kann immer Fälle konstruieren, wann man was verwenden kann. Wichtig ist jedoch, das man Optionen hat - lieber eine mehr als zwei zuwenig!
Nur, man muss die Optionen kennen und sinnvoll einsetzen. Gerade bei GetDocumentByKey ohne den True Parameter kann man die wildesten Dinge erleben und sich dann dumm und dämlich suchen...

Andreas
Titel: Re:Fehler beim Ausführen von Script, Debugger springt nicht an
Beitrag von: Semeaphoros am 19.01.04 - 15:09:41
Da bin ich gleicher Meinung