Diskuze: Zaseknutí aplikace
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
to bude asi chtit abys sem dal kod protoze ten tvuj popis je takovy ...
budto si to zacyklil tim ze volas zmenu indexu ze zmeny indexu nebo to volas s
jineho vlakna.
Tuto metodu chci volat:
private void ZmenMapu()
{
int tridniBity = 0;
string tridniBityString = "";
int y = 0;
switch (_trida)
{
case "A":
tridniBity = 8;
tridniBityString = "0TTTTTTT.";
break;
case "B":
tridniBity = 16;
tridniBityString = "10TTTTTT.TTTTTTTT.";
break;
case "C":
tridniBity = 24;
tridniBityString = "11TTTTTT.TTTTTTTT.TTTTTTTT.";
break;
}
int bityPodsite = Convert.ToInt32(bityMaskyComboBox.SelectedItem) - tridniBity;
if (bityPodsite != 0)
{
while (bityPodsite != 0)
{
if (y == 8 || y == 16 || y == 24)
{
tridniBityString += ".";
}
else
{
tridniBityString += "S";
}
bityPodsite--;
y++;
}
}
while (tridniBityString.Length != 35)
{
if ((y == 8 || y == 16 || y == 24) && tridniBityString.Length < 34)
{
tridniBityString += ".";
}
else
{
tridniBityString += "H";
}
y++;
}
mapaBituTextBox.Text = tridniBityString;
for (int i = 0; i < mapaBituTextBox.Text.Length; i++)
{
if (mapaBituTextBox.Text[i] == 'T' || mapaBituTextBox.Text[i] == '1' || mapaBituTextBox.Text[i] == '0')
{
mapaBituTextBox.SelectionStart = i;
mapaBituTextBox.SelectionLength = 1;
mapaBituTextBox.SelectionColor = Color.Red;
}
else if (mapaBituTextBox.Text[i] == 'S')
{
mapaBituTextBox.SelectionStart = i;
mapaBituTextBox.SelectionLength = 1;
mapaBituTextBox.SelectionColor = Color.Orange;
}
else if (mapaBituTextBox.Text[i] == 'H')
{
mapaBituTextBox.SelectionStart = i;
mapaBituTextBox.SelectionLength = 1;
mapaBituTextBox.SelectionColor = Color.Green;
}
else if (mapaBituTextBox.Text[i] == '.')
{
mapaBituTextBox.SelectionStart = i;
mapaBituTextBox.SelectionLength = 1;
mapaBituTextBox.SelectionColor = Color.Black;
}
}
}
odsud:
private void maskaComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
int i = Convert.ToInt32(maskaComboBox.SelectedIndex);
bityPodsiteComboBox.SelectedIndex = bityPodsiteComboBox.FindStringExact(maskaComboBox.SelectedIndex.ToString());
maxPocetSitiComboBox.SelectedIndex = maxPocetSitiComboBox.FindStringExact(Math.Pow(2, i).ToString());
pocetHostuComboBox.SelectedIndex = maxPocetSitiComboBox.SelectedIndex;
bityMaskyComboBox.SelectedIndex = maxPocetSitiComboBox.SelectedIndex;
ZmenAdresy();
ZmenWildcard();
ActiveControl = null;
}
Nemáš náhodou přiřazenou maskaComboBox_SelectedIndexChanged i k nějakému jinému ComboBoxu?
a co presne to udela? spadne to a vyhodi nejakou chybu nebo se to zasekne? btw urcite se to nazacykli uvnitr tech while cyklu co tam sou napr. while (bityPodsite != 0)?
Jsou dvě možnosti, buď jsi se zacyklil v jednom z těch dvou cyklů while
a nebo máš při události na změnu indexu comboboxu změnu indexu, takže by
se ti volala ta událost pořád dokola. Zkus si hodit do kódu break pointy a
najdeš to hned čím to je.
Zobrazeno 7 zpráv z 7.