Diskuze: čekání na dokončení

C# .NET .NET (C# a Visual Basic) čekání na dokončení American English version English version

Avatar
Frantisek Jesatko:

Ahoj všichni potřebuju radu naprostý základ do winforms. Mam funkci1 a 2. Z funkce 1 zavolam funkci 2 a potřebuju aby funkce 1 počkala na dokončení funkce 2. V kodu to vypadá asi takto :

private static void funkce1()
   {
       while ()
       {
           // zde se testuji data v db

           funkce2(kod); // timto potřebuju otestovat jestě další tabulku potřebuju počkat az se to dokončí
       }
   }
   private static void funkce2(string kod)
   {
       while ()
       {
        ..... cosi na test
       }
   }

Vím že je to naprostý zaklad ale ja na to nemužu dojit Dík

 
Odpovědět 10. července 8:00
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na Frantisek Jesatko
Adam Ježek:

Ono to teď nečeká? Pokud to děláš v jednom vlakně, tak program nemůže dělat nic jiného dokud se funkce2 nedokončí.

Nahoru Odpovědět 10. července 8:17
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Odpovídá na Adam Ježek
Frantisek Jesatko:

Bohuzel neceka v prvni funkci se exportuje jeden zaznam kod toho zaznamu je preda do funkce 2 kde se exportuji min 2 avice zaznamu ale vzdy to v druhe funkci natahne jen jeden . Je to v jednom vlaknu . Tak nevim kde je problem

 
Nahoru Odpovědět 10. července 8:32
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na Frantisek Jesatko
Adam Ježek:

Asi bude problém v tvém kódu, jestli je to jedno vlákno, tak funkce1 se v řádku, kde voláš funkce2() zastaví a nemůže pokračovat, dokud funkce2 neskončí.

Nahoru Odpovědět 10. července 8:35
Programátor dělá co může. Počítač co chce. | Pokud mi dáš mínus, tak prosim, napiš proč!
Avatar
Frantisek Jesatko:

No funkce1 je spustena napozadi v backgroundworker je i volana funkce2 automaticky napozadi ? To je mozna ten problem .

 
Nahoru Odpovědět 10. července 8:58
Avatar
Odpovídá na Frantisek Jesatko
Michal Štěpánek:

Jestliže tu druhou funkci voláš z té první, která je spuštěna v backgroundworkeru, tak je samozřejmě i ta druhá funkce spuštěna v tom samém backgroundworkeru a tudíž v tom samém vlákně jako ta první. Jiný případ by byl, kdybys pro tu druhou funkci vytvořil nový backgroundworker...

Nahoru Odpovědět 10. července 10:23
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Frantisek Jesatko:

Tak vyreseno dekuji za rychlou pomoc , chyba v me druhe funkci. Pri kontrole pridanych zaznamu jsem mel povoleno pridani pouze jednoho zaznamu. Kdyz to naslo ze uz tam jeden je dalsi uz to nepridalo.

 
Nahoru Odpovědět 10. července 14:55
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 7 zpráv z 7.