Domino 9 und frühere Versionen > ND6: Entwicklung

Zeit-Agenten ohne Laufzeitziel

<< < (3/6) > >>

Andreas Huhn:
Hab ich gestern nicht gespeichert?
Hab heut morgen an einer anderen Baustelle angefangen und als ich jetzt den Agenten geöffnet hab war der alte Formel-Code drin.

Jetzt spukt mit der LS Code einen Object variable not set aus, und zwar in der fetten Zeile.


Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim configdoc As NotesDocument
   Dim agent As NotesAgent
   
   Dim CoAgentIntervall As Integer
   Dim CoAgentDat As Variant
   Dim FreigAgentIntervall As Integer
   Dim FreigAgentDat As Variant
   Dim LieferAgentIntervall As Integer
   Dim LieferAgentDat As Variant
   Dim NowDat As Variant
   
   
   Set db= session.CurrentDatabase
   
   Set view = db.getview("AnsKonfiguration")
   Set configdoc = view.getdocumentbyKey("1")
   
   CoAgentIntervall = configdoc.ZahlCoAgentIntervall(0)
   CoAgentDat = configdoc.datCoAgentDat(0)
   FreigAgentIntervall = configdoc.ZahlFreigAgentIntervall(0)
   FreigAgentDat = configdoc.datFreigAgentDat(0)
   LieferAgentIntervall = configdoc.ZahlLieferAgentIntervall(0)
   LieferAgentDat = configdoc.datLieferAgentDat(0)
   NowDat = Now()
   
   
   If Typename(NowDat) = "DATE" And Typename(CoAgentDat) = "DATE" Then
      If Val( (NowDat - CoAgentDat) / 86400) >= CoAgentIntervall Then
         Set agent = db.GetAgent("CoordAgent")
         agent.Run
      End If
   End If
   
   If Typename(NowDat) = "DATE" And Typename(FreigAgentDat) = "DATE" Then
      If Val( (NowDat - FreigAgentDat) / 86400) >= FreigAgentIntervall Then
         Set agent = db.GetAgent("FreigAgent")
         agent.Run
      End If
   End If
   
   If Typename(NowDat) = "DATE" And Typename(LieferAgentDat) = "DATE" Then
      If Val( (NowDat - LieferAgentDat) / 86400) >= LieferAgentIntervall Then
         Set agent = db.GetAgent("LieferAgent")
         agent.Run
      End If
   End If
   
End Sub


Stimmt an der Zuweisung etwas nicht?

umi:
Ist da evtl. noch ein Design Template mit im Spiel?
Als kleiner Tip
nach einem view.getdocumentbykey immer auf isnothing prüfen

Andreas Huhn:
In der Designerhelp findet er unter isnothing nichts.

Wie lautet die Syntax?

if isnothing view then msgbox "view is nothing"

geht irgendwie nicht.


Du meinst Design Template weil der Code zurückgesetzt war? Weiß nicht. War bisher noch nie der Fall daß etwas zurückgesetzt wurde. Mal schaun wies morgen is. Aber das dürfte mit meiner Fehlermeldung ja erstmal nichts zu tun haben, oder?

Die Ansicht heißt (AnsKonfiguration)

Hab es sowohl mit Set view = db.getview("(AnsKonfiguration)") als auch mit Set view = db.getview("AnsKonfiguration") versucht.

Außerdem müsste laut Fehlermeldung view noch korrekt befüllt sein, oder? configdoc macht den Ärger.

Fällt dir noch was ein umi?

umi:

--- Code: --- Set configdoc = view.getdocumentbyKey("1")
  if not configdoc is nothing then
   CoAgentIntervall = configdoc.ZahlCoAgentIntervall(0)
.
.
.
else
Messagebox "Cofigdoc nicht gefunden"
end if

--- Ende Code ---

Axel:
Sicherheitshalber solltest du noch Klammern setzen

...
if not (configdoc is nothing) then
...

Ich hab's schon erlebt, dass er ohne aus der Kurve geflogen ist.


Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln