Hallo miteinander!
Ich dreh hier bald am Rad. Ich hab ein Script, das mir Kopfzerbrechen macht.
Was ich bisher weiß:
- Das Script läuft als lokale DB auf meinem 7er Client & Designer-Computer rund. Alles ok.
- Wird es auf den Server gespielt (8.5er o.s.ä.), fliegt es aus der Kurve.
- Die Fehler-Meldung: Function requires a valid ADT argument.
- Schalte ich den Debugger ein und hangel mich mehr oder weniger manuel von Zeile zu Zeile, läuft das Script mal durch und mal nicht.
Das Teil-Script, wo er rausfliegt:
.................................................
:
:
Set db = session.CurrentDatabase
Set view = db.GetView(viewname)
Set vc = view.AllEntries
Set entry = vc.GetFirstEntry()
While Not (entry Is Nothing)
Set doc = entry.Document
>>> Call dc.AddDocument(doc) <<<
Set entry = vc.GetNextEntry(entry)
Wend
:
:
.................................................
Der Debugger zeigt, dass das doc auch wirklich leer ist. Aber entry ist nicht leer! Wie kann das sein!? Entweder ich habe ein Dokument in der Ansicht, dann gibt es ein Entry und dann müsste ich darüber wieder das Doc bekommen. Oder es gibt kein Document, dann gibt es auch keinen Entry und dann will ich ja auch kein Dokument haben. Was hab ich hier falsch verstanden?!
Kleine Anmerkung:
vc.Count (ViewEntryCollection) = 5000
entry.ISDOCUMENT = TRUE
Und wie kann es sein, dass der Fehler mal auftritt und mal nicht? Ich hab leider noch keine Gesetztmäßigkeit gefunden. Ich dachte erst, wenn ich das Script als ganzes laufen lasse, gehts schief und wenn ich es Step-By-Step durchklicke, geht es gut. Aber das stimmt nun wohl doch nicht.
Hat jemand da einen Tipp, wie ich dem Übel auf die Spur kommen kann?
Basti