Zum Inhalt springen

VB.NET - Dienst auf API zugreifen


dennis_dorni

Empfohlene Beiträge

Hallo,

ich will einen Dienst erstellen der mit der Tobit API zusammen arbeiten soll.

Dafür habe ich als grundlage das Beispiel aus der API hilfe genommen.

Diese Funktion läuft auch bei mir, nun wollte ich das Programm als Windows Dienst laufen lassen und da bekomme ich immer die Fehlermeldung ganz unten in meinem Beitrag in der geht es um die Funktion DVEmlFromMailItem.

Hat jemand eine Idee warum die Funktion in meinem Programm super läuft aber in meinem Dienst nicht?


    Public Declare Function DVEmlFromMailItem Lib "DvApi32" (ByVal oMailItem As Object, ByVal strFileName As String) As Long

    Public Sub MailArchivierung()


    Dim oApp As Object

    Dim oAccount As Object

    Dim oArchive As Object

    Dim oMailItem As Object

    Dim oMessageItems As Object

    Dim Filename, Zielpfad As String

    Dim i As Integer


    oApp = CreateObject("DVOBJAPILib.DvISEAPI")

    oAccount = oApp.Logon("####", "####", "####", "", "", "AUTH")


    oArchive = oAccount.GetArchive("System/Archivieren/in")


    oMessageItems = oArchive.AllItems



    For i = 0 To oMessageItems.Count - 1

    If oMessageItems.Item(i).Type = 2 Then

    oMailItem = oMessageItems.Item(i)

    Filename = Space(255)

    If DVEmlFromMailItem(oMailItem, Filename) <> 0 Then

    Filename = Filename.Remove(Filename.IndexOf(".tmp") + 4, 1).Trim.ToCharArray

    Zielpfad = "C:\Test\" & CreateFileName() & ".eml"

    If System.IO.File.Exists(Filename.Trim) Then

    My.Computer.FileSystem.CopyFile(Filename.Trim, Zielpfad.Trim, True)

    End If

    End If

    End If

    Next

    oArchive = Nothing

    oMailItem = Nothing

    oMessageItems = Nothing

    Filename = Nothing

    Zielpfad = Nothing

    End Sub

Der Dienst kann nicht gestartet werden. System.AccessViolationException: Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.

bei TobitArchiving.Archivierung.DVEmlFromMailItem(MailItem oMailItem, String& strFileName)

bei TobitArchiving.Archivierung.MailArchivierung() in O:\VisualStudio\Projekte\TobitArchiving\TobitArchiving\Archivierung.vb:Zeile 64.

bei TobitArchiving.Archivierung..ctor(IApplication oApp, Account oAccount, String QuellArchiv, String Zielpfad, Int32 _Timer) in O:\VisualStudio\Projekte\TobitArchiving\TobitArchiving\Archivierung.vb:Zeile 29.

bei TobitArchiving.TobitEmailArchivierung.OnStart(String[] args) in O:\VisualStudio\Projekte\TobitArchiving\TobitArchiving\TobitEmailArchivierung.vb:Zeile 19.

bei System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

Bearbeitet von dennis_dorni
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...