Autor Thema: messagebox in agent  (Gelesen 2850 mal)

Offline littleS

  • Junior Mitglied
  • **
  • Beiträge: 78
messagebox in agent
« am: 07.06.05 - 12:50:33 »
mahlzeit zusammen,

wenn ich im Initialize() eines Agenten ein
Code
MessageBox "Hi"
habe, sollte dann die MessageBox bei mir sichtbar sein?
Ich hab die DB einmal als "local" und einmal auf einem Domino-Server, der auch auf meinem lokalen Rechner installiert ist. In beiden Fällen sehe ich keine Messagebox. Das ganze brauch ich nur, um zu sehen, ob in bestimmte Zeilen des Agenten gesprungen wird, so ganz blicke ich nämlich beim Agenten-Debuggen noch nicht durch (und nicht nur  da...  ??? ).


s.
« Letzte Änderung: 07.06.05 - 15:58:08 von littleS »

klaussal

  • Gast
Re: messagebox in agent
« Antwort #1 am: 07.06.05 - 12:54:30 »
Wie startest Du den Agenten ?
Für welche Dokumente soll er gelten ?

Ich hab das mal mit "Auswahl im Menü Aktionen" und "alle Dokumente" getestet = funzt  :D

PS: ich kann Dir auch gerne Nachhilfe geben, Köln ist nur 80 km entfernt ... ;)
« Letzte Änderung: 07.06.05 - 12:56:11 von klauss »

Offline littleS

  • Junior Mitglied
  • **
  • Beiträge: 78
Re: messagebox in agent
« Antwort #2 am: 07.06.05 - 13:09:25 »
Hi,

Also der Agent ist shared, on schedule (never), target: all documents in database, run on behalf of (ein user mit allen rechten), security level 1.

Gestartet wird der Agent per
Code
Dim session As New NotesSession
Dim agent As NotesAgent
'// Dokument zur Parameterübergabe an Agenten anlegen
Dim paradoc As NotesDocument
Dim nID As String
Set paradoc = gdb.CreateDocument
paradoc.Form = "frmParaKatAgent"                                       '// Form enthält Felder zur Parameterübergabe an Agenten
paradoc.AlterKategorieText = sAlterKategorieText              '// Werte der Parameter setzen
paradoc.NeuerKategorieText = sNeuerKategorieText
paradoc.KategorieFarbe = sKategorieFarbe
Call paradoc.ComputeWithForm(True,True)
Call paradoc.Save(True,True)
nID = paradoc.NoteID
Set db = session.CurrentDatabase
Set agent = db.GetAgent("KategorienTextFarbeAendern")
If Not (agent Is Nothing) Then
If Not agent.RunOnServer(nID) = 0 Then                          '// Agenten-Aufruf mit Paramtern, die im Dokument nID gespeichert sind
Messagebox "Agent lief nicht!",48,"Fehler"
End If
Else
Messagebox "Agent wurde nicht gefunden",48,"Fehler"
End If

im initialize des agenten steht dann:
Code
Messagebox "Hi"
Dim ddoc As NotesDocument
Dim na As NotesAgent
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim sAlterKategorieText As String
Dim sKategorieText As String
Dim sKategorieFarbe As String
Set db = session.CurrentDatabase
Set na = session.CurrentAgent
Set ddoc = db.GetDocumentByID(na.ParameterDocID)
sAlterKategorieText = ddoc.AlterKategorieText
sKategorieText = ddoc.NeuerKategorieText
sKategorieFarbe = ddoc.KategorieFarbe
'//Dim i As Integer
Set dc = db.AllDocuments
'//i = 0
Set doc = dc.GetFirstDocument
Do Until doc Is Nothing
If doc.Form(0) = "frmTermin" Then                                           '// Feiertage auch behandeln??? (nicht implementiert)
If doc.TerminKategorie(0) = sAlterKategorieText Then
doc.TerminKategorie = sKategorieText                         '// neuen Text setzen
doc.TerminKatFarbe = sKategorieFarbe                       '// neue Farbe setzen
'//i = i + 1
Call doc.Save(True, True, True)
End If
End If
Set doc = dc.GetNextDocument(doc)
Loop


s.

klaussal

  • Gast
Re: messagebox in agent
« Antwort #3 am: 07.06.05 - 13:15:39 »
Dann schalte mal den Debugger ein und starte den Agenten per Hand. Was passiert ? Wo steigt er aus ?

Offline littleS

  • Junior Mitglied
  • **
  • Beiträge: 78
Re: messagebox in agent
« Antwort #4 am: 07.06.05 - 13:23:36 »
hmm,

also wenn ich den agenten so einstelle: event (action menu selection) und dann per hand starte, sehe ich die Messagebox. Er läuft dann bis zu der Stelle wo auf den übergebenen Parameter zugegriffen werden soll
na.ParameterDocId
das leuchtet mir ein, daß er dann abbricht, weil dem Agenten ja keine NoteId übergeben wurde, wenn er von Hand gestartet wird. Ich werd mal versuchen, die Id des "Paramter Dokuments" festzuverdrahten und mal schaun, was der Debugger dann sagt.
Erstmal danke für die flotte (wie immer) Hilfe.


s.

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: messagebox in agent
« Antwort #5 am: 07.06.05 - 14:08:10 »
Wenn Du den Agent Scheduled laufen lässt siehst Du keine Messagebox.
Die Ausgabe wird höchstens im ServerLog sichtbar sein.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline littleS

  • Junior Mitglied
  • **
  • Beiträge: 78
Re: messagebox in agent
« Antwort #6 am: 07.06.05 - 15:15:50 »
hi,

im Serverlog hab ich meine Messages gesehen. Gibt es eine Möglichkeit das Serverlog per F9 oder ähnlichem auf den neuesten Stand zu bringen?

s.

klaussal

  • Gast
Re: messagebox in agent
« Antwort #7 am: 07.06.05 - 15:22:44 »
Die Ansicht ja, das einzelne Doc nicht (soweit ich weiss). Da hilft wohl nur öffnen, schliessen, öffnen........

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: messagebox in agent
« Antwort #8 am: 07.06.05 - 15:45:25 »
Kleiner Tipp:
schau Dir mal das OpenLog projekt auf http://www.openntf.org an.

gruss
umi >:D
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz