Problematik mit AxMSTSCLib.AxMsRdpClient10

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Toorms.

    Problematik mit AxMSTSCLib.AxMsRdpClient10

    Hallo Zusammen,

    ich versuche mich derzeit mit "AxMSTSCLib" anzufreunden und meine ersten Geh-Versuche damit zu wagen. Leider stoße ich mit einer tollen Fehlermeldung derzeit ein wenig Gegen die Wand. Folgend einmal mein simpler Code:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports MadMilkman
    2. Imports MSTSCLib
    3. Public Class frmMain
    4. Private mobjConfigurationReader As New Ini.IniFile()
    5. Public mstrDomainName As String
    6. Private mobjRDPConntor As AxMSTSCLib.AxMsRdpClient10 = New AxMSTSCLib.AxMsRdpClient10
    7. Sub New()
    8. ' Dieser Aufruf ist für den Designer erforderlich.
    9. InitializeComponent()
    10. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
    11. InitializeConfiguration()
    12. End Sub
    13. Private Sub InitializeConfiguration()
    14. Try
    15. mobjConfigurationReader.Load(Application.StartupPath & "/Configuration.ini")
    16. txtBxUserName.Text = mobjConfigurationReader.Sections("UserInformations").Keys("Username").Value
    17. txtBxUserName.ReadOnly = True
    18. lblServer.Text = mobjConfigurationReader.Sections("ServerInformations").Keys("Server").Value
    19. mstrDomainName = mobjConfigurationReader.Sections("UserInformations").Keys("Domain").Value & "\"
    20. Catch ex As Exception
    21. MsgBox(ex.ToString)
    22. End Try
    23. End Sub
    24. Private Sub btnConnectToServer_Click(sender As Object, e As EventArgs) Handles btnConnectToServer.Click
    25. Try
    26. mobjRDPConntor.Server = lblServer.Text
    27. mobjRDPConntor.UserName = mstrDomainName & txtBxUserName.Text
    28. Dim isSecured As IMsTscNonScriptable =
    29. DirectCast(mobjRDPConntor.GetOcx(), IMsTscNonScriptable)
    30. isSecured.ClearTextPassword = txtBxPassword.Text
    31. mobjRDPConntor.ColorDepth = 32
    32. mobjRDPConntor.FullScreen = True
    33. mobjRDPConntor.Connect()
    34. Catch ex As Exception
    35. MsgBox(ex.ToString)
    36. End Try
    37. End Sub
    38. End Class


    Ich habe das Steuerelement auch schon mal visuell in die Form gepackt und dann so aufgerufen, das funktioniert. Aber wieso denn nicht, mit dem o.g. Code? Als "Fehlermeldung" erhalte ich einfach nur:



    Kennt sich damit jemand ein wenig aus und kann mir netterweise ein wenig weiterhelfen? Danke schön und viele Grüße
    Toorms

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Toorms schrieb:

    Als "Fehlermeldung" erhalte ich einfach nur:


    Du wirst mehr Infos bekommen wenn du nicht MsgBox(ex.ToString) aufrufst. Alleine der Stacktrace könnte dir hier schon Hinweise geben.
    Desweiteren würde ich den Code erstmal debuggen und schauen wo genau der Fehler auftritt. Aber ich denke mal das wird am mobjRDPConntor.Server = lblServer.Text sein.

    Wenn ich die Doku zu dem Client anschaue steht hier:
    This property can be set only if the control is not in the connected state. This property returns E_FAIL if it is called when the control is connected. You can check for the connected state by using the Connected property.​
    Mag zwar etwas dumm klingen aber ich würde das mal in der Laufzeit checken.
    Du hast auch absolut Recht :) Aber but why so? Er erwartet einen String und bekommt auch einen?!



    Habe nun vorab mal

    VB.NET-Quellcode

    1. If mobjRDPConntor.Connected = 1 Then
    2. mobjRDPConntor.Disconnect()
    3. End If


    ... reingesetzt, damit er, wenn eine komische Connection-Session auf dem Steuerelement sein sollte, dass er es definitiv vorher nicht verbindet. Bringt aber auch nichts. Gleicher Fehler, wie auf dem letzten Bild.