USE-en von ScriptLibs, oder: was gestern das Bier schlecht?

  • Schönen Guten allerseits!


    Nach dem ich nach meiner letzten Frage nun meinen Agenten umgeschrieben habe, laufe ich ein wenig gegen die Wand. Mag natürlich auch mit dem gestrigen Tag und dem heutigen Presslufthammer im Schädel zu tun haben... :roll:


    Also folgendes: Agent XY macht ein USE auf die Bibliothek "libA". Diese wiederum macht ein USE auf "libB", welche eine Sub "Tralala" enthält. Versuche ich nun im Agenten ein "Call Tralala", bekomme ich ein freundliches "Not a sub or function name: TRALALA" zurück. Im Übrigen passiert das auch, wenn ich direkt im Agenten XY ein USE auf "libB" mache; unabhängig davon, ob ich das USE auf "libB" in "libA" stehen lasse, oder nicht (hier hätte ich erwartet, dass eine Meldung kommt, dass die Lib doppelt genutzt würde, aber nix da).


    War gestern das Bier schlecht, oder bin ich neuerdings einfach zu blöd ein paar simple Zeilen Code zu produzieren?


    thx in advance
    RW

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Hast Du den Agent nach dem Einbinden der Libs zunächst erst einmal kompilieren lassen? Wenn nicht, weiss der Agent noch nix von seinem Glück.
    Ansonsten kann ich keinen Fehler erkennen - Du verwendest das absolut standardkonforme Verfahren.
    Dass Du trotz der kleinen Männchen im Kopf keinen simplen Schreibfehler im Prozeduraufruf hast, setze ich mal voraus :D


    Bernhard

  • Eine Neukompilierung hab ich schon versucht; er wirft mir direkt im Initialize-Event des Agenten (der erste Aufruf der Sub im gesamten Code überhaupt) bereits den Fehler.
    Schreibfehler sind keine drin, hab ich auch schon geschaut. Hab ich zwar den Großteil per Copy+Paste rübergekippt und normalerweise zweifle ich eher an der Technik, als an mir. Aber nachkontrolliert hab ich es dann doch :D

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Kommentiere mal die betreffende Zeile zum Kompilieren aus (notfalls auch grössere Abschnitte über %REM und %ENDREM). Dann kompilieren (mir ist es auch schon passiert, dass ich das Designelement dann schliessen musste und erst nach erneutem Öffnen das Auskommentieren rückgängig machen musste).


    Bernhard

  • Ich werd wahnsinnig. So funktioniert es einwandfrei, keine Fehler mehr. Auf sowas muss man erstmal kommen... Hast dir ein :pint: verdient :D


    Allerdings muss ich trotzdem bei jeder Sub oder Function, die ich aus dem Agenten in eine Lib auslagere die Aufrufe im Agenten und sonst wo auskommentieren, die Subs verlagern, alles kompilieren, die Designelemente schließen, nochmal kompilieren, die Aufrufe wieder gradebiegen und schließlich ein drittes Mal kompilieren. Aaaaaaarggh, so ein Müll!! Auch wenn ich Notes/Domino und das ganze drumherum für eine ziemlich coole Sache halte, die IDE ist einfach mal Schei**e!


    Ok, hätte ich mir gleich zu Anfangs Gedanken um vernünftiges Code-Design gemacht, hätte ich die Probleme jetzt nicht ;) :wuet:


    Ich wünsch euch allen ein schönes WE!
    RW

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Naja, ganz so schlimm ist's aber gewöhnlich nicht: Wenn Du eine fertige ScriptLib einbindest, musst Du das übergeordnete Mail zunächst kompilieren, um den Code wirklich in das Modul einzubetten. Probleme bekommst Du nur, wenn Du das Modul offen hälst und nebenbei in der Lib eine neue Prozedur erstellst oder auch Variable deklarierst. Bevor Du die dann im Modul verwenden kannst, musst Du vorher kompilieren - wie beschrieben.
    Aber mach Dir nix draus - ich mache nun den lieben langen Tag (fast) nichts anderes, und trotzdem falle ich ab und an darauf herein.


    Auch Dir ein schönes Wochenende,
    Bernhard