Посмотрите в чем ошибка ?
У меня есть клиент и сервер. Так вот в клиенте нужно организовать поиск сервера. Что я делаю:
void __fastcall TForm2::BitBtn1Click(TObject *Sender)
{
1 int s,i,j,k,m;
2 AnsiString ip;
3 bool b;
4 i=StrToInt(Edit2->Text);
5 j=StrToInt(Edit3->Text);
6 k=StrToInt(Edit4->Text);
7 m=StrToInt(Edit5->Text);
8for(i=StrToInt(Edit2->Text);i<=StrToInt(Edit6->Text);i++)
9 for(j=StrToInt(Edit3->Text);j<=StrToInt(Edit7->Text);j++)
10 for(k=StrToInt(Edit4->Text);k<=StrToInt(Edit8->Text);k++)
11 for(m=StrToInt(Edit5->Text);m<=StrToInt(Edit9->Text);m++)
{
12 ip=IntToStr(i)+"."+IntToStr(j)+"."+IntToStr(k)+"."+IntToStr(m);
13 Form1->ClientSocket1->Host=ip; // Присваиваем Клиенту Ай-Пи из Эдита
14 Form1->ClientSocket1->Address=ip;
15 try{
16 Form1->ClientSocket1->Active = true ;
17 }catch(...){ b=true;}
18 if (b==true)
19 {
20 ShowMessage("erfv");
}
}
}
Что мне надо : чтобы в строке с 15 по 17 при невозможности подключения- m++. Ошибок прикомпиляции нет. Но как тока делашь поиск сервера. Появляются окна с ошибками, а мне не надо, чтобы они появлялись, а просто происходил переход к следующему номеру ip. Помогите пожелуйста.
Цитата:
Originally posted by nicohack
Посмотрите в чем ошибка ?
У меня есть клиент и сервер. Так вот в клиенте нужно организовать поиск сервера. Что я делаю:
void __fastcall TForm2::BitBtn1Click(TObject *Sender)
{
1 int s,i,j,k,m;
2 AnsiString ip;
3 bool b;
4 i=StrToInt(Edit2->Text);
5 j=StrToInt(Edit3->Text);
6 k=StrToInt(Edit4->Text);
7 m=StrToInt(Edit5->Text);
8for(i=StrToInt(Edit2->Text);i<=StrToInt(Edit6->Text);i++)
9 for(j=StrToInt(Edit3->Text);j<=StrToInt(Edit7->Text);j++)
10 for(k=StrToInt(Edit4->Text);k<=StrToInt(Edit8->Text);k++)
11 for(m=StrToInt(Edit5->Text);m<=StrToInt(Edit9->Text);m++)
{
12 ip=IntToStr(i)+"."+IntToStr(j)+"."+IntToStr(k)+"."+IntToStr(m);
13 Form1->ClientSocket1->Host=ip; // Присваиваем Клиенту Ай-Пи из Эдита
14 Form1->ClientSocket1->Address=ip;
15 try{
16 Form1->ClientSocket1->Active = true ;
17 }catch(...){ b=true;}
18 if (b==true)
19 {
20 ShowMessage("erfv");
}
}
}
Что мне надо : чтобы в строке с 15 по 17 при невозможности подключения- m++. Ошибок прикомпиляции нет. Но как тока делашь поиск сервера. Появляются окна с ошибками, а мне не надо, чтобы они появлялись, а просто происходил переход к следующему номеру ip. Помогите пожелуйста.
Посмотрите в чем ошибка ?
У меня есть клиент и сервер. Так вот в клиенте нужно организовать поиск сервера. Что я делаю:
void __fastcall TForm2::BitBtn1Click(TObject *Sender)
{
1 int s,i,j,k,m;
2 AnsiString ip;
3 bool b;
4 i=StrToInt(Edit2->Text);
5 j=StrToInt(Edit3->Text);
6 k=StrToInt(Edit4->Text);
7 m=StrToInt(Edit5->Text);
8for(i=StrToInt(Edit2->Text);i<=StrToInt(Edit6->Text);i++)
9 for(j=StrToInt(Edit3->Text);j<=StrToInt(Edit7->Text);j++)
10 for(k=StrToInt(Edit4->Text);k<=StrToInt(Edit8->Text);k++)
11 for(m=StrToInt(Edit5->Text);m<=StrToInt(Edit9->Text);m++)
{
12 ip=IntToStr(i)+"."+IntToStr(j)+"."+IntToStr(k)+"."+IntToStr(m);
13 Form1->ClientSocket1->Host=ip; // Присваиваем Клиенту Ай-Пи из Эдита
14 Form1->ClientSocket1->Address=ip;
15 try{
16 Form1->ClientSocket1->Active = true ;
17 }catch(...){ b=true;}
18 if (b==true)
19 {
20 ShowMessage("erfv");
}
}
}
Что мне надо : чтобы в строке с 15 по 17 при невозможности подключения- m++. Ошибок прикомпиляции нет. Но как тока делашь поиск сервера. Появляются окна с ошибками, а мне не надо, чтобы они появлялись, а просто происходил переход к следующему номеру ip. Помогите пожелуйста.
А ты попробуй сначала свою откомпилеванную прогу запустить не из-под IDE. Просто ручками запусти свой скомпилеваный экзешник. Это есть такой прикол - что билдеровское IDE ловит все эксепшены - а на пользовательские ложит с пробором. Как-то по- моему это можно отключить - но вот как точно, не помню.
Цитата:
Originally posted by ddnh_bc
А ты попробуй сначала свою откомпилеванную прогу запустить не из-под IDE. Просто ручками запусти свой скомпилеваный экзешник. Это есть такой прикол - что билдеровское IDE ловит все эксепшены - а на пользовательские ложит с пробором. Как-то по- моему это можно отключить - но вот как точно, не помню.
А ты попробуй сначала свою откомпилеванную прогу запустить не из-под IDE. Просто ручками запусти свой скомпилеваный экзешник. Это есть такой прикол - что билдеровское IDE ловит все эксепшены - а на пользовательские ложит с пробором. Как-то по- моему это можно отключить - но вот как точно, не помню.
Эта мысль возникла 1-й. Не происходит обработки ошибок
2. Так ты сам выводишь там сообщение и зачем так громозко.
[COLOR=darkblue]
15 try{
16 Form1->ClientSocket1->Active = true ;
17 }catch(...){ 18
20 ShowMessage("erfv");
}
[/COLOR]