Text aus Modul an Textbox übergeben

  • VB.NET

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

    Text aus Modul an Textbox übergeben

    Hallo,

    ich benötige mal ein wenig Beratung. Ich habe eine Zusatzapplikation für unser CAD-System erstellt. Hierzu habe ich eine Form und in den entsprechenden SUBs in der Form wird der relevante Code dann ausgeführt. Damit das Ganze für den User nicht so langweilig ist, erhält dieser eine permanente Rückmeldung (Doku was alles gemacht wurde), welche ich in eine Textbox schreiben lasse. Soweit funktioniert das alles, alle sind happy damit.

    Nun ist die Idee, den Code, welcher die Arbeit macht in ein Modul auszulagern. Hierdurch kann dieser von einer anderen Form ebenfalls benutz werden. Die Statusmeldungen würde ich mittels einer Übergabe eines entsprechenden Kenners abschalten, da die Textbox in diesem Moment nicht zur Verfügung steht und die Funktion quasi lautlos ablaufen soll.

    Nun ist mir aber nicht klar, wie ich aus der Funktion des ausgelagerten Moduls Texte in die Textbox der Form schreiben kann.

    Hat jemand einen Ansatz für mich?

    Vorab vielen Dank.

    Gruß SKYSURFER
    Willkommen im Forum.

    Alles ein wenig abstrakt, daher schwierig zu beantworten. Aber wenn Du dem Sub eine TextBox-Instanz als Parameter übergibst, kannst Du diese modifizieren:

    VB.NET-Quellcode

    1. '…
    2. Public Class Form1
    3. '…
    4. Public Sub ModifyTextBox()
    5. Foo(TextBox1)
    6. End Sub
    7. End Class
    8. '…
    9. Public Class Form2
    10. '…
    11. Public Sub ModifyTextBox()
    12. Foo(TextBox2)
    13. End Sub
    14. End Class
    15. 'Module
    16. Public Sub Foo(TextBox As TextBox)
    17. TextBox.Text = "Bar"
    18. End Sub
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hallo,

    nun habe ich mich scheinbar etwas zu früh gefreut. Irgendwie stehe ich gerade etwas auf dem Schlauch. Hier ein Auszug aus dem Modul:

    VB.NET-Quellcode

    1. Module MToL
    2. Public Function MoveToLayerPreChecks(ByVal oDrawDoc As Inventor.DrawingDocument,
    3. Optional TextBox As TextBox = Nothing) As Boolean
    4. Dim sMsgString As String = ""
    5. ' Dieser Text in eine Textbox einfügen
    6. sMsgString = "[INFO] - " & DateTime.Now.ToLongTimeString() & " - Start Pre-Checks" & vbCrLf
    7. ' noch sehr viel Code
    8. End Function
    9. End Module


    Würde ich nun das obige Beispiel 1:1 umsetzen, so müsste das in der Form irgendwie so aussehen:

    VB.NET-Quellcode

    1. Public Sub ModifyTextBox()
    2. MoveToLayerPreChecks(tbinfo)
    3. End Sub


    Nur irgendwie funktioniert das nicht.

    Vorab vielen Dank für eine Unterstützung.

    Gruß SKYSURFER
    Bitte konkret werden!
    Deine TextBox ist laut Zeile#3/4 der 2. Parameter, nicht der erste. Du musst erst ein Inventor.DrawingDocument übergeben, danach kommt erst die TextBox. Oder Du änderst die Methodensignatur.

    ##########

    Mit der derzeitigen Methodensignatur also: MoveToLayerPreChecks(DasKomischeDokument, tbinfo)
    Und in der Funktion dann irgendwann TextBox.Text = sMsgString
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()