Listbox in einer Form aus einem Modul beschreiben

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von nopi.

    Listbox in einer Form aus einem Modul beschreiben

    Hallo Gemeinde,

    ich bin noch ziemlich in den Kinderschuhen was VB.net betrifft und habe mir gleich ein ehrgeiziges Projekt ausgesucht.

    Ich habe eine Applikaton geschrieben, die sich über einen Socket mit einem Server verbindet. Der Server sendet Daten, die meine Applikation in ein Logfile schreibt. So weit funktioniert alles gut. Jetzt das ABER.....

    Ich möchte, dass die empfangenen Daten auch in einer Listbox angezeigt werden. Ich habe eine "Form1", in der eine "ListBox1" existiert. Die Socketverbindung mit dem zugehörigen Receive befindet sich in einem Modul "Modul1". Es gelingt mir nicht, aus dem Modul heraus einen Text in die Listbox der Form zu schreiben.

    Ich habe schon viel über Google gesucht und auch schon von Delegaten gehört, aber wie das wirklich funktioniert oder ob es auch andere Lösungen gibt konnte ich nicht abschließend klären.

    Kann mir vielleicht hier jemand in die richtige Spur helfen?

    Danke un Gruß

    nopi
    Danke für den Tipp......

    Das mit dem Vererben habe ich so verstanden, dass ich von form nach form etwas vererben kann. Ich müsste aber von form nach modul vererben. Wie fuktioniert das? Mit inherits ist es doch nicht möglich, oder doch???
    Hallo Alex,

    noch einmal Danke. Leider stehe ich entweder völlig auf dem Schlauch oder ich habe eine Konstruktion geschaffen die mich jetzt aus Kreuz legt.

    Deinen Code für das Modul bekomme ich dort nicht unter. Im Modul wird ein Thread "Private Sub Empfang" gestartet, in dem über Try/EndTry und Loop eine Schleife durchlaufen wird, die den Empfang vom Server handhabt. In dieser Schleife wird das Logfile geschrieben und hier soll auch die ListBox in der Form beschrieben werden.
    Mir ist an dieser Stelle leider nicht klar, wie ich deinen Code im Modul und der Form unterbringen soll.

    Ich habe schon folgendes versucht:

    - Im Modul ein Public Text as String angelegt
    - Dann im Loop die Variable Text beschreiben
    - Anschließend das Public Sub "Eintrag" in der Form aufrufen

    - In der Form ein Public Sub Eintrag angelegt
    - Im Sub die Variable "Text" mit ListBox1.iems.add(Text) in die Listbox eingetragen
    - Zum Test ob die Variable wirklich übergeben wurde MsgBox(Text) angelegt

    Die Variable Text wird korrekt geschrieben, das zeigt auch die MsgBox an. Aber ein Eintrag in die Listbox erfolgt nicht. Trage ich in einer anderen Sub etwas in die Listbox ein (bspw. nach ButtonClick) funktioniert der Eintrag

    Wenn der schreckliche Knoten im Kopf nicht wäre, wäre ich woh schon am Ziel ;( und so hoffe ich auf eine weitere Idee von Dir.

    Danke.....
    Hi,



    sorry, aber ich komme da nicht mit. In einem Event kann ich den Eintrag in der ListBox nicht machen. Das liegt daran, dass ich in diesem Fall vermutlich schnell aufeinander folgende Einträge aus dem Modul heraus "verschlafen" würde.

    Der Thread in meinem Modul stellt die empfangenen Daten ja nur so lange zur Verfügung, bis er weitere Daten empfängt. Dann überschreibt er die vorhandenen mit den neuen Daten. Wenn ich in der Zwischenzeit die Daten nicht eingetragen habe, dann sind sie weg.

    Ich stecke also noch immer in der Sackgasse und suche nach einer Lösung wie ich aus einem Thread in einem Modul eine Listbox in einer Form beschreiben kann.

    Gibt es dazu weitere Ideen?

    Gruß

    nopi