Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB.NET - Dienst auf API zugreifen

Empfohlene Antworten

Veröffentlicht

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.