HILFE - DvAPI-Beispiel geht nicht...VB.NET Profi gesucht!!!

  • Hi.

    Ich versuche seit Stunden vergeblich dieses Programm aus der DvAPI-Hilfe zum laufen zu bringen:

    Die Funktion FileCopy wirft die Ausnahme ArgumentException mit der Message "Illegales Zeichen im Pfad". Ich kann aber kein illegales Zeichen finden. Der Input-Filename, der aus DVEmlFromMailItem herauskommt lautet "C:\DOKUME~1\%username%\LOKALE~1\Temp\$$dv$$\API2B.tmp" und das Ziel, das ich gerne hätte ist Testweise "C:\".

    Ich habe schon alle mögliche versucht. Z.B. vor dem FileCopy mittels ChDir in das $$dv$$-Verzeichnis zu wechseln oder auch andere Copy-Methoden wie File.Copy oder CopyFile. Es war alles für die Katz.

    Nun seid ihr meine letzte Hoffnung ;(

    LG
    Benni

    There are only 10 types of people in the world:
    Those who understand binary and those who don´t.

    Einmal editiert, zuletzt von BeSt (27. März 2008 um 11:42)

  • ...
    FileCopy FileName, "c:\" & oMailItem.Subject & ".eml"
    ...

    Ich hab keine Ahnung von VB, aber könnte oMailItem.Subject evtl. das Problem sein - von wegen Sonderzeichen oder so? Hast du mal probiert, ob's nach, sagen wir mal, "c:\test.eml" kopiert?

  • Lösung selbst gefunden.

    Die Zeile "Filename = Space(260)", die die Variable initialisiert ist das Problem. Ich hab zwar am Ende manuell noch mittels Trim(Filename) versucht die überschüssigen Blanks wegzukriegen, aber das hat irgendwie nicht funktioniert. Wenn ich die Blanks quasi manuell aus der Variable Filename entferne und dann das Prog weiterlaufen lasse, dann klappt alles.

    Trotzdem danke ;)

    There are only 10 types of people in the world:
    Those who understand binary and those who don´t.

  • Die Zeile "Filename = Space(260)", die die Variable initialisiert ist das Problem. Ich hab zwar am Ende manuell noch mittels Trim(Filename) versucht die überschüssigen Blanks wegzukriegen, aber das hat irgendwie nicht funktioniert. Wenn ich die Blanks quasi manuell aus der Variable Filename entferne und dann das Prog weiterlaufen lasse, dann klappt alles.

    Hallo,

    wie hast Du das Problem denn jetzt gelöst? Wenn ich Filename = Space(260) weg lasse geht garnichts mehr.

    Ich habe zwar nach langem Probieren eine Lösung mit Hilfe der "IWshRuntimeLibrary" gefunden, der scheinen die "ungültigen" Zeichen nicht auszumachen, würde aber gerne auf eine zusätzliche DLL verzichten.

    melwood

  • Ich mache es jetzt folgendermaßen:

    Code
    Filename = Space(260)
      If DVEmlFromMailItem(oMailItem, Filename) <> 0 Then
    	' In FileName are the saved EML files
        namen = oMailItem.Subject
       	Try
          	Filename = Filename.Substring(0, Filename.LastIndexOf(".tmp") + 4)
          	(...)
       	Catch (...)
       End if

    There are only 10 types of people in the world:
    Those who understand binary and those who don´t.

Jetzt mitmachen!

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