![]() |
David, DVAPI32.dll, neue email erstellen
.... in den VBA-Beispeilen sieht das alles so einfach aus.
2 Fragen zu dem Code: 1. wie komme ich an die Recno der neu erstellten email ( in meinem Beispiel immer -1 )? 2. stimmt der Aufruf DVWin32.EXE ( IntToStr(TobitArchiv.ID) bringt Schutzverletzung )?
Delphi-Quellcode:
TobitApp:= CreateOleObject('DVOBJAPILIB.DvISEAPI');
TobitAcc:= IDispatch(TobitApp.LogOn) as Account; TobitArchiv := TobitAcc.GetSpecialArchive(DvArchivePersonalOut); oMailItem := IDispatch(TobitArchiv.NewItem(DvEMailItem)) as MailItem; oMailItem.Subject := edbetreff.Text; oMailItem.Options.UserHold := False; for i := 0 to lbBCC.Items.count -1 do begin oMailItem.Recipients.Add(lbBCC.Items[i],'MAIL', ''); end; oMailItem.Save(TobitArchiv, DvMsgSelEMail); -> Recno := VarToStr(oMailItem._ID); with TRegistry.Create do try RootKey := HKEY_CURRENT_USER; if OpenKey('\Software\Tobit\Tobit InfoCenter\Settings', false) then Tobitpath := Readstring('ProgramDirectory') else Tobitpath := ''; finally Closekey; end; if TobitPath <> '' then begin -> TobitStart := TobitPath + '\DVWIN32.EXE ' + IntToStr(TobitArchiv.ID) + ' /POS= ' + IntToStr(Recno) + ' /SA=34'; ShellExecute(Handle, 'open', PChar(ExtractFileName(TobitStart)),'', PChar(ExtractFileDir(TobitStart)),SW_SHOW); end; |
AW: David, DVAPI32.dll, neue email erstellen
Die *._ID ist KEINE eindeutige ID. Du wirst nirgends eine eindeutige ID finden.
Die RecNo für den von Dir verwendeten Aufruf vom DavidClient ergibt sich, wenn Du den Archive-Ordner durchscannst und selber mitzählst. Ist die 10. Mail die von Dir erstellte dann ist RecNo = 9 (oder doch 10? Weiss es grad nicht auswendig). Die RecNo ist der Index der Nachricht in der sie in der archive.dat vorkommt (binärformat). Mir ging das komplizierte erstellen oder auslesen von Nachrichten mittels dvapi irgendwann auf den Sack und bin dazu übergegangen die Nachrichten ausschlieslich über den Filescan-Service zu erstellen. Es ist hilfreich beim erstellen der Nachricht ein Benutzerdefiniertes "Field" einzubauen welches Du dann beim durchscannen des archive suchst um die korrekte RecNo (bzw. die von Dir erzeugte Nachricht eindeutig zu identifizieren) zu finden. |
AW: David, DVAPI32.dll, neue email erstellen
hallo DonManfred,
hast du ein Beispiel wie man ein benutzerdefiniertes Feld definiert? |
AW: David, DVAPI32.dll, neue email erstellen
Ich habe es selbst gelöst.
Danke für die Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz