Vorlage per DvApi32 und VB.Net generieren

  • Hallo,


    dieses Forum konnte mir schon in einigen Sachen weiter helfen, nur eins fehlt mir noch.
    Mein Ziel ist es per DvApi32 und VB.Net eine Vorlage anzulegen.


    Das klappt bissher auch ganz gut nur wird sie mir im David.fx immer als Fax angzeigt.
    Habt ihr eine Idee was ich falsch mache?


    Hier mein Code:

    Code
    Dim X As MailItem = CType(Me.Acc.GetSpecialArchive(DvArchiveTypes.DvArchiveTemplate).NewItem(DvItemTypes.DvEMailItem), MailItem)
        	X.Subject = "Test 11.04.2011"
        	X.BodyText.PlainText = "Text"
        	X.Save()


    Vielen Danke im Vorraus
    Gruß
    Chris

  • Hallo Chris,


    ich glaube Du musst zusätzlich einen Absender oder Empfänger angeben oder sowas.
    Oder es liegt am .Save()...


    Hatte den Effekt auch schon, weiß aber adhoc nicht genau, woran es lag.


    Gruß Jens

    Es wäre schön, Deinen Vornamen zu kennen. Bitte beachte unsere Forenregeln und die Netiquette.

    ----------

    Bitte teilen/weitersagen: STARFACE Module Databasewww.sfm-db.com


    STARFACE Excellence PartnerSTARFACE Module CreatorTobit.Software Authorized Partner (Mailserver/Unified Messaging)work4all! Solution Partner (CRM/ERP)Securepoint Professional Partner (Firewall/UTM)


    1 Qubit - J.Suingwww.1qubit.deSoftware - Service - Coding

  • Hallo Jens,


    vielen Dank für deine schnelle Antwort.
    Dein Hinweis hat mich meinem Fehler näher gebracht. Konnte es letzlich lösen.


    Um es der Nachwelt zu erhalten, poste ich hier einmal meinen Lösungsweg.


    Code
    Dim newItem As IMessageItem2 = Me.Acc.GetSpecialArchive(DvArchiveTypes.DvArchiveTemplate).CreateArchiveEntry(DvItemTypes.DvEMailItem)
    Dim newItemFields As Fields = CType(newItem.Fields, Fields)
    Dim inhalt As String = "Test Inhalt"
    
    
    newItem.Subject = "New Template 12.04.2011"
    newItemFields.Item(&HC0008000).Value = "<META http-equiv=Content-Type content=" & Chr(34) & "text/html; charset=utf-8" & Chr(34) & ">" & inhalt
    newItemFields.Item(&H80003051).Value = 2
    newItem.Save()


    Erst erstell man ein Objekt nach dem Inteface IMassageItem2 und kann das dann durch das Archive über die Funktion *.CreateArchiveEntry mit Daten gefüllt werden. Danach läd man die Fields in ein Objekt des Interfaces Fields. Über die Fields-Eigenschaft des IMessageItem2.


    Momentan gehe ich davon aus, das diese Vorgehensweise mit der Reference der Objekte arbeitet.


    Über das Field Objekt können jetzt Eigenschaften angepasst werden. Die jeweiligen ItemIDs findet man in der Doku für die DvAPI32 unter FieldIDs.


    Ich hoffe es ist verständlich.


    Gruß
    Chris

  • Hallo Chris,


    sieht alles etwas kryptisch aus bei Dir.


    In C# geht das so:


    Code
    MessageItem2 newItem = Acc.GetSpecialArchive(DvArchiveTypes.DvArchiveTemplate).CreateArchiveEntry(DvItemTypes.DvEMailItem);
    Fields newItemFields = (Fields)newItem.Fields;
    string inhalt = "Test Inhalt";
    
    
    newItem.Subject = "New Template 12.04.2011";
    newItemFields.Item("HTML").Value = "" + inhalt;
    newItemFields.Item("DocumentType").Value = 2;
    newItem.Save();


    In VB sollte das ähnlich klappen. Durch die Verwendung der Namen der Fields wird es um einiges leserlicher, vor allem für spätere Nachvollziehbarkeit.


    Übrigens ist die Verarbeitung des MessageItem2 (zumindest beim lesen) um den Faktor 10 schneller als die des MessageItem und dessen Ableitungen wie MailItem.


    Gruß Jens


    P.S.: In der API Hilfe gibt es dazu auch ein Beispiel in VB unter dem Namen
    Create IMessageItem2 entry in the personal archive In

    Es wäre schön, Deinen Vornamen zu kennen. Bitte beachte unsere Forenregeln und die Netiquette.

    ----------

    Bitte teilen/weitersagen: STARFACE Module Databasewww.sfm-db.com


    STARFACE Excellence PartnerSTARFACE Module CreatorTobit.Software Authorized Partner (Mailserver/Unified Messaging)work4all! Solution Partner (CRM/ERP)Securepoint Professional Partner (Firewall/UTM)


    1 Qubit - J.Suingwww.1qubit.deSoftware - Service - Coding

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!