Využij akce až 80 % zdarma při nákupu e-learningu. Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
discount week 80
Avatar
Petr Adámek
Člen
Avatar
Petr Adámek:3. dubna 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. dubna 13:13
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
JerryM
Člen
Avatar
JerryM:18. dubna 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. dubna 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.