IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Proč načtení dat z TXTboxu a odeslání jednou funguje a podruhé ne?

Aktivity
Avatar
Petr Adámek
Člen
Avatar
Petr Adámek:3.4.2021 13:13

Ahoj.
Tvořím aplikaci ve WPF. Aplikace má při zmáčknutí tlačtíka načíst obsaht TXTboxu a ten po sériové lince odeslat.

Zkusil jsem: Zkoušel jsem vložit kód pro odeslání rovnou do události tlačítka. V tomto případě se hodnoty odešlou a vše proběhne bez problému.

private void SaveAndSetTime_Click(object sender, RoutedEventArgs e)
{
    try
    {
        AktualneNactenyPort.Open();
    }
    catch { }
    ZaneprazdenoAktualneNeodesilat = true;
    SaveAndSetTime.Visibility = Visibility.Collapsed;

    AktualneNactenyPort.WriteLine(timeClass.adresaZapisH2S1 + txtBoxHour2S1.Text.ToString());
    System.Threading.Thread.Sleep(zpozdeniOdesilani);
    MessageBox.Show("Prvni odeslano.");
    //BGworkerNastaveniCasu.RunWorkerAsync();
}

Ovšem, dat se odesílá hodně a proto příchází v potaz použití BGworkeru. Po vložení kódu do BG workeru vyskočí chybová hláška: Volající vlákno nemůže získat přístup k tomuto objektu, protože jej vlastní jiné vlákno.
Jaký je tedy rozdíl mezi vložením kódu do události tlačítka a do BGworkeru?

Chci docílit: Snažím se dosáhnotu odeslání dat pomocí BGworkeru.

 
Odpovědět
3.4.2021 13:13
Avatar
JerryM
Člen
Avatar
JerryM:18.4.2021 8:47

nejdřív to celé udělej bez BGWorkeru
potřebuješ ten tvuj text převést na sekvenci bytů...
https://stackoverflow.com/…y-in-c-sharp
a pak teprve odeslat

 
Nahoru Odpovědět
18.4.2021 8:47
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.