ungülitiger threadübergreifender vorgang..... !?!?

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Mad Andy.

    ungülitiger threadübergreifender vorgang..... !?!?

    Hallo,

    habe eine kurze verständnisfrage zu VB 2008 Express....

    nachdem Daten über den seriellen port von meinem Programm empfangen werden wollte ich ein Label auf dem Hauptform mit diesen versehen.

    in meiner Variablen "Daten" stehen die korrekte Werte drin und können auch mit "debug.print(daten) angezeigt werden.

    nur wenn ich

    label1.text = daten

    schreibe bekomme ich die im Bild zu sehende Fehlermeldung.....



    das wunderliche ist, das wenn ich die exe unterdem Verzeichnis bin/release ausführe funktioniert es trotzdem ohne Programmabbruch!!!
    nur das ausühren mit dem Compiler funktioniert nicht....

    warum??????????? wie kann ich das korrekt anzeigen lassen?

    danke schonmal im voraus
    Bilder
    • fehler.jpg

      66,39 kB, 801×332, 135 mal angesehen

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

    Hi!

    Scheinbar wird das Receive der seriellen Schnittstelle in dem Fall (hab mich mit COM in .net noch nicht beschäftigt) von einem anderen Thread als dem Hauptthread behandelt. Um Datensicherheit zu gewähren, darf aber nur der Erstellerthread der Form (= der Hauptthread) an der Form rumpfuschen.

    [VB 2008] Zwei Threads auf ein Steuerelement(nicht gleichzeitig: Fehler)
    Da drin ist auch nochmal ein Link von mir zu der Frage von mir damals, falls dir die knappere Antwort dort lieber ist :)
    ja, irgendwie mit invoke.. usw... backgroundworker usw.

    man kanns auch einfach mit option ....checkforillegalxyz... ausblenden

    habe ich alles schon gelesen, nur zum laufen habe ich noch nix davon gebracht!

    bräuchte mal ein minimalbeispiel...! (geht mir nämlich irgenwie nicht in den kopf...)