На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Помогите бедным ламерам.
    В проге имеются две кнопки. Первая из них выполняет следующую функцию:
    void __fastcall TMainForm::Button1Click(TObject *Sender)
    {

    for(;; ){
    if(param1==3534)break;
    }
    }
    ,
    Разумеется при нажатии на этот батон графический интерфейс проги ВИСНЕТ.
    Так вот как сделать так, чтобы данный цикл исполняясь не вызывал зависания проги.
    А по нажатию на кнопку номер два(void __fastcall TMainForm::Button1Click(TObject *Sender) {}),данный цикл прекращался.

    ???Всем огромное спАсибО.




    Сообщение отредактировано: DarkKnight -
      Цитата DarkKnight, 12.08.02, 09:16:03
      В проге имеются две кнопки. Первая из них выполняет следующую функцию:
      void __fastcall TMainForm::Button1Click(TObject *Sender)
      {

      for(;; ){
      if(param1==3534)break;
      }
      }
      ,
      Разумеется при нажатии на этот батон графический интерфейс проги ВИСНЕТ.
      Так вот как сделать так, чтобы данный цикл исполняясь не вызывал зависания проги.
      А по нажатию на кнопку номер два(void __fastcall TMainForm::Button1Click(TObject *Sender) {}),данный цикл прекращался.

      ???Всем огромное спАсибО.


      В цикле for (или любом другом наиболее долгом) вставлять Application->ProcessMessages().
        Или засунь цикл в поток.
          Цитата DarkKnight, 12.08.02, 09:16:03
          В проге имеются две кнопки. Первая из них выполняет следующую функцию:
          void __fastcall TMainForm::Button1Click(TObject *Sender)
          {

          for(;; ){
          if(param1==3534)break;
          }
          }
          ,
          Разумеется при нажатии на этот батон графический интерфейс проги ВИСНЕТ.
          Так вот как сделать так, чтобы данный цикл исполняясь не вызывал зависания проги.
          А по нажатию на кнопку номер два(void __fastcall TMainForm::Button1Click(TObject *Sender) {}),данный цикл прекращался.

          ???Всем огромное спАсибО.

          а ты попробуй через другой цикл
          ну например через
          do {
          ...
          }while(2>23)

          чтото в этом роде....=)
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0254 ]   [ 16 queries used ]   [ Generated: 15.05.24, 05:16 GMT ]