Autor Thema: zwei Agenten hintereinander starten  (Gelesen 2538 mal)

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
zwei Agenten hintereinander starten
« am: 09.02.07 - 10:40:46 »
Hallo,

ich rufe in der geöffneten Memo-Maske mittels Button zwei Agenten auf:

Code
@Command([RunAgent]  ;"GrussformelBild");
@Command([RunAgent]  ;"GrussformelText");

Der erste Agent (Lotus-Script) wird abgearbeitet und das Bild in das Memo eingefügt.
Beim zweiten Agent allerdings kommt der Fehler:
"Der angegebene Agent ist nicht vorhanden."

Wenn ich die beiden Agenten nacheinander über das Menü "Aktionen" aufrufe, klappt es. Mit dem ersten Agenten wird das Bild und mit dem zweiten Agenten der Text eingefügt.

Beide Agenten haben die Eigenschaften:
- auslösen durch Ereignis
- Auswahl im Menü Aktionen
- Ziel: keines

Was mache ich hier falsch bzw. woran kann das liegen? (Tippfehler beim Agentennamen liegt auch nicht vor.)


Gruß
Bille
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: zwei Agenten hintereinander starten
« Antwort #1 am: 09.02.07 - 10:48:11 »
@postedCommand
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: zwei Agenten hintereinander starten
« Antwort #2 am: 09.02.07 - 10:58:01 »
Abgesehen davon: Warum machst Du denn nicht aus den zwei Agents einen? Grussformeltext kennen wir ja aus Deinem letzten Thread als sehr, sehr simplen Algorithmus, der einfachst nach LS zu transformieren ist.

Bernhard

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re: zwei Agenten hintereinander starten
« Antwort #3 am: 09.02.07 - 11:37:27 »
In dem "Grussformeltext" werden noch Textelemente aus dem Adreßbuch, sowie aus einer internen Datenbank geholt. Und die Arbeit, diese in LS umzuschreiben, wollte ich mir einfach sparen.

@Thomas:
Leider klappt das mit dem @PostedCommand auch nicht. Der Fehler bleibt der gleiche. Es funktioniert nur, wenn ich zuerst den TextAgent und anschließend den BildAgent laufen lasse. Aber das Bild soll vor dem Text erscheinen.

Nachdem das nicht funktioniert, muss ich mich wohl oder übel an die Fleißaufgabe machen und den TextAgenten umschreiben.

Bille
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: zwei Agenten hintereinander starten
« Antwort #4 am: 09.02.07 - 12:38:46 »
Hast du @PostedCommand bei beiden Agenten verwendet?

Eigentlich sollte das so gehen:

@Command([RunAgent]  ;"GrussformelBild");
@PostedCommand([RunAgent]  ;"GrussformelText");



Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re: zwei Agenten hintereinander starten
« Antwort #5 am: 09.02.07 - 13:12:16 »
Nein, Axel, ich hatte das schon richtig verstanden und das @PostedCommand nur beim zweiten Agenten verwendet. Aber es funktioniert so nicht. FM "Agent nicht vorhanden"
Irgendwie hab ich das Gefühl, dass der erste Agent einfach zu lange dauert und der zweite Agent schon gestartet wird, bevor er mit dem Abarbeiten vom ersten Agenten fertig ist.
Schließlich holt er sich mit dem ersten Agenten ein Bild aus einem anderen Dokument mittels Paste & Copy. --> siehe Thread  http://atnotes.de/index.php?topic=34775.0

Aber vielleicht kommt mir das auch nur so vor ...

Bille
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: zwei Agenten hintereinander starten
« Antwort #6 am: 09.02.07 - 13:17:50 »
Bille, holst Du die Unterschrift (das Bild) aus einer anderen Datenbank? Dann wird Deiner erster Agent - Du arbeitest dort ja im FrontEnd) den Focus auf der anderen DB lassen. Wenn nun der zweite Agent gestartet werden soll, wird er in DB2 gesucht ...

Ein Timing-Problem kann es nicht sein, da die Agents nacheinander ausgeführt werden.

Bernhard

PS: Obwohl ... wenn die letzte Aktion von Agent1 das Paste ins Memo ist, muss auch der Focus wieder stimmen. Oder schliesst Du erst danach das Dokument für das Copy?

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re: zwei Agenten hintereinander starten
« Antwort #7 am: 09.02.07 - 13:22:45 »
Ja, das Bild hole ich aus einer anderen Datenbank.

Mein Agent1 "GrussformelBild" sieht so aus:

Code
	Dim ndoc As NotesDocument 
	
	Dim Anwender As String
	Anwender = s.CommonUserName 
	
	Set ndoc = view.GetDocumentByKey (Anwender)
	
REM *** Unterschrift aus nikesa in EditMode setzen ***	
	Dim Uuidoc As NotesUIDocument 
	Set Uuidoc = ws.EditDocument(True, ndoc)
	
REM *** Unterschrift markieren und in Body-Feld einfügen ***	
	Call Uuidoc.GoToField("Unterschrift")
	Call Uuidoc.SelectAll
	Call Uuidoc.Copy
	Call Uuidoc.Close ()
	
	Call uidoc.Paste()
	
End Sub

Demzufolge gehe ich davon aus, dass der Focus wieder in dem Memo ist und nicht mehr in der Datenbank, aus der ich mir das Bild hole.
Und wenn der Agent2 erst nach dem Abarbeiten von Agent1 erfolgt, verstehe ich nicht, warum die Fehlermeldung kommt. Wenn ich das manuell über Menü-Aktionen mache, ist es doch im Prinzip nichts anderes, und dort (also manuell) funktioniert es.

Komisch!?
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: zwei Agenten hintereinander starten
« Antwort #8 am: 09.02.07 - 13:29:49 »
Manuell ist das was gaaaanz anderes: Allein schon Durch den Mausklick setzt Du den Fokus ...

Okay, das Paste ist der letzte Zucker von Agent1. Trotzdem bleibt der Fokus in der anderen DB (wenn Du nicht doch noch einen Schreibfehler da drin hast). Fakt ist: Dein Agent wird im Kontext der beiden Aufrufe nicht gefunden. PostedCommand oder nicht hat damit nichts zu tun.

Auch wenn mich interessieren würde, was die wahre Ursache ist: Allein schon aus Pflegegründen und wegen Ordnung und Sauberkeit im Schlachthof kann ich nur dringend dazu raten, beide Agents zu vereinen.

Bernhard

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re: zwei Agenten hintereinander starten
« Antwort #9 am: 09.02.07 - 13:38:27 »
Ja, Bernhard, Du hast schon recht. Das war eigentlich auch mein ursprüngliches Ansinnen, aber irgendwie hat sich meine Faulheit durchgesetzt und ich wollte den Weg des geringsten Widerstands gehen.  ;D

Egal, ich fasse die beiden Teile jetzt zusammen. Kann also durchaus sein, dass ich mich wieder melde.

Danke an alle Beteiligten und ein schönes Wochenende.

Bille
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz