Hallo Jens,
Danke für deine Antwort
Die Archive.dat ist die Indexdatei eines Archives im David. Das was Du über den Count von Allitems bekommst, sollte identisch sein mit der Anzahl der Einträge im Archive.
Davon bin ich eigentlich auch ausgegangen. Jedoch wenn ich einen Count auf Allitems mache bekomme ich die Anzahl der eMails die im Verzeichnis "Out" liegen (wenn: Set objArchive = objAccount.GetSpecialArchive(DvApi32.DvArchiveTypes.DvArchivePersonalOut).
Jedoch habe ich festgestellt das unter "David\Archive\USER\10004000\out\Archive.dat" (objArchive.ID) auch noch die gelöschten eMails vorhanden sind (Was ja nicht unbedingt verkehrt ist, da Geschäftsmails aufbewahrungspflichtig sind).
Mein eigentliches Problem ist ähnlich wie das von DonManfred war, ich möchte die Position nach dem generieren einer eMail wissen.
DonManfred hat ja diesbezüglich eine Lösung vorgestellt, die ich übernommen habe.
For i = 0 To objFields.Count - 1
Set objField = objFields.Item(i)
If objField.Name = "RecNo" Then
recno = CStr(objField.Value)
End If
Next i
Leider bekomme ich immer, wenn ich den Wert vom Feld "RecNo" abrufe, den Fehler "Methode 'Value' für das Objekt 'Field' fehgeschlagen" Was mich ziemlich verwundert hat, zum Test habe ich einfach mal ein anderes Feld der 138 Felder gewählt z.B. "MessageID". Bei dem Feld mir sogar die komplette Entwicklungsumgebung flöten geht.
Deswegen bin ich auf die Idee gekommen einfach mal zu fragen ob es möglich ist alle Items in \Out\Archive.dat zu ermitteln, da ich dann mit einem Shell Befehl mit Hilfe der DVWIN32 Parameter
DVWIN32.EXE \\SERVER\DAVID\archive\user\10004000\out /SA=34 /POS= hier die höchste Stelle von Archive.dat
das eben generierte eMail auf den Bildschirm anzeigen kann. Was ich manuell schon getestet habe, in dem ich einfach per Schleife POS hochgezählt habe bis es zur Fehlermeldung des InfoCenter kam weil die POS nicht bekannt ist. Mit dieser POS konnte ich dann das nächste generierte eMail auf dem Bildschirm anzeigen.
Ich möchte ein generiertes eMail das noch nicht gesendet wurde auf dem Bildschirm anzeigen um es gegebenenfalls zu bearbeiten. objMailItem.Options.UserHold = True hilft mir in dem Fall leider nicht weiter da, dass eMail nicht angezeigt wird sondern nur im Wartemodus im jeweiligen Verzeichnis liegt.
Gruß Janosch