DVAPI32 Build 297.0504 - DVEmlFromMailItem funktioniert nicht mehr

  • Hallo,


    benutzt sonst noch wer die o.g. API Funktion?


    Lief bei mir seit über einem Jahr problemlos, seit dem letzten update liefert die Funktion keinen Dateinamen mehr zurück, das Feld bleibt einfach leer.


    Natürlich ein großes Problem, da die EMail nicht mehr auf den lokalen Rechner exportiert werden kann (läuft bei mir für Doku Zwecke innerhalb eines Drag / Drop Vorgangs, die Mails werden dabei quasi in ihre Bestandteile "zerlegt").


    Ein ratloser Endil ?(

  • Bist Du sicher?

    Also ich habe es mal getestet und es funktioniert noch:


    DvApi32.DavidAPIClass dvAPI = new DvApi32.DavidAPIClass();

    dvAPI.LoginOptions = DvLoginOptions.DvLoginForceAsyncDuplicate;

    Account oAcc = dvAPI.Logon(null, null, null, null, null, null);


    Archive oArcIn = oAcc.GetSpecialArchive(DvArchiveTypes.DvArchivePersonalIn);

    MessageItems oMessageItems = oArcIn.AllItems;

    for (int i = 0; oMessageItems.Count > i; i++)

    {

    if (oMessageItems.Item(i).Type == DvItemTypes.DvEMailItem)

    {

    MailItem oMailItem = (MailItem)oMessageItems.Item(i);

    StringBuilder oSb = new StringBuilder(260);

    if (DVEmlFromMailItem(oMailItem, oSb) != 0)

    {

    System.IO.File.Copy(oSb.ToString(), @"d:\tmp\" + oMailItem.Subject + ".eml");

    break;

    }

    }

    }

    oAcc.Logoff();

  • Ja, leider bis heute keine Funktion mehr. Nachvollziehen kann ich das nicht, der Sourcecode hat sich da in keinster Weise geändert und entspricht mehr oder weniger deinem Beispiel.


    Ich vermute mittlerweile dass das eher mit dem Server zu tun hat, vielleicht gibt's da irgendwo eine Einstellung die durch das update geändert wurde und nun scheiterts an irgendeinem Recht. Die Funktion DVEmlFromMailItem ist ja nach wie vor unverändert, aber gerade daran scheitert das Ganze.

  • Ích gehe nun davon aus, dass Du einen Breakpoint gesetzt hast und Schritt für Schritt durchgegangen bist.

    Schlägt denn die Funktion selbst fehl, oder liegt nur am Ende keine Datei da?

  • Die Funktion schlägt fehl , die Meldung bezieht sich dann auf fehlerhaften Speicher.


    Aber jetzt kommts :rolleyes::

    Hab mal aufgrund einer dunklen Ahnung den Code nach VB6 umgesetzt....da funktioniert alles wunderbar, in .NET funktionierts weder mit VB.net noch mit C#.net.....

    Egal, Problem erstmal gelöst, nehm halt jetzt ne ActiveX DLL um den Dateinamen zu ermitteln und an das aufrufende Programm zu übergeben.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!