ausgelageter Quelltext eines Agenten

  • Servus miteinander,


    ich bins mal wieder :D


    neues Problem:
    - Quelltext des Agenten ist ausgelagert und wir mit Hilfe von "%INCLUDE "Pfad der Datei mit dem Quelltext" in den Agenten integriert. Soweit so gut. Da es jedoch sehr umständlich ist, den Agenten extern zu bearbeiten, wollte ich den Quelltext des Agenten einfach direkt in den Designer reinkopieren. Dürfte meiner Meinung nach auch keine Probleme machen.. :) Jedoch tut der Agent jetzt nicht mehr. Ich bin Zeile pro Zeile durchgegangen und hab beide Quelltexte verglichen. Ich konnte keinen Fehler finden
    Woran kann das liegen? Werden Quelltexte die per %Include integriert werden von Domino anderst behandelt? ;) Gibts da irgendwas was zu beachten ist?



    Vielen Danke für Antworten! :)


    Gurki

    • Offizieller Beitrag

    ich kann vom Auslagern der Scripte in Text-Dateien nur abraten.


    1. die Größenbegrenzungen von Notes 4.5/4.6 gibt es bei Script nicht mehr
    2. die Text-Datei mit dem Script muss immer vorhanden sein, wenn ich an dem Code etwas ändern will
    3. kann die Gestaltung auch anders verborgen werden


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Ne es kommt keine Fehlermeldung mehr. Aber er führt nicht mehr das aus, was er eigentlich soll. Und Compiliert werden kann auch er.


    Im großen und ganzen soll er auf Dokumenten verlinken, die in einer anderen Datenbank liegen.
    Ich wollt nur wissen ob, durch die %Include-Anweisung etwas an der Funktionsweise (bzw irgendwelche Mehtoden nicht verwendet werden können) ändert.




    Das ist der Quelltext aus der ausgelagerten Datei. Wenn ich den nun in den Designer kopieren scheitert er an den If-Bedingungen.. Oo




    @Dirk: Danke für den Hinweis. Das wurde vor Jahren so gemacht und ich muss damit jetzt leben. Ich weiß, dass es nicht das sinnvollste ist..

  • Du hast die Einzelteile aber schon an die richtigen Stellen kopiert, oder ?


    Also das was vor dem Sub Initialize steht in den Declarations Teil.
    Das was im Sub Initialize steht in den Initialize Bereich und die restlichen Punkte dahinter ?


    So daß dir alle Funktionen auch links angezeigt werden ?

  • Kommt drauf an wie du es hinkopierst. Ich hab da auch schon erlebt daß es eben nicht so ist oder sogar mal links zwei Sub Initialize da waren.


    Beides würde dazu führen daß eben nichts getan wird

  • hmm..
    Die If Bedinungen werden nicht erfüllt. Wenn ich diese raunsnehme werden Laufzeit fehler (Variable not set,etc..) gemeldet.



    Ich hab leider nur keine Ahnung wieso?!?


    Kann es an der ColumnValues-Methode liegen? In der Notes-Hilfe steht:


    A column value is not returned if it is determined by:


    *A formula containing a UI-only function such as @IsExpandable or @DocNumber.
    *A constant.



    Was ist bitte mit constant gemeint?!
    -.-


    Gute Nacht an Alle!

    • Offizieller Beitrag

    für mich wäre es jetzt der Zeitpunkt das Script aus der Text-Datei in eine Bibliothek zu verlagern, aber dies nur am Rande.


    1. hast Du die DB mit verschiednene Designer-Versionen angefaßt?
    2. Scripte in der DB hast Du schon vollständig neu kompiliert?
    3. Schalte den Debugger ein und lass diesen in den Fehler laufen, danach kannst Du die Objekte ansehen und findest die Variable, welche nicht gesetzt ist. Der Grund dafür liegt dann irgendwo vorher.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • hmm.. ich habs jetzt anders geregelt.


    und zwar hab ich mir in dem Dokument ein Feld erstellt, dass den Link berechnet. Dieser wird dann per Agent in das andere Dokument geschrieben.


    Das Problem ist nur, dass mir das bei der Berchnung ein Fehler auftritt, wenn keine Attachments angefügt sind.
    Die code im Feld "Feldname" lautet:

    Code
    _Zahl = @Attachments;@If(_Zahl > 0; (@Implode("<a href=\"" + @Text(@DocumentUniqueID) + "/$file/" + @AttachmentNames + "\" target=\"_blank\">"+@AttachmentNames + " ("+ @Text(@Round(@AttachmentLengths/1024;0,01)) + " Kb)" + "</a>"; "<br>")); "")



    im Agent sieht es so aus

    Code
    rueckgabe = context.GetItemValue("Feldname")(0)
    If rueckgabe = "" Then
    				Call doc.ReplaceItemValue("Felda", "")
    
    			Else
    				Call doc.ReplaceItemValue("Felda",rueckgabe)	
    			End If


    Ich versteh nicht wieso es zu Laufzeitfehlern kommt..
    Tipps und Anregungen? ;)


    DANKESCHÖN


    Gruß

  • "Gurki", das ist wirklich ein herumgegurke, was Du da veranstaltest. Eigentlich schon Quälerei der Hilfswilligen.
    Wie wäre es, wenn Du mal
    - den Code postest
    - und genau die Fehlermeldungen mit Angabe (Markierung!) der Zeile angibst?


    Bernhard

  • Ist schon klar, erstmal muss man lernen. Aber lernen muss man auch, die Frage nder Hilfswilligen zu beantworten, denn die können ohne diese Antworten nichts tun. Auch wenn sie gerne tun würden.


    Bernhard