Как провернуть такую фишку
Проблема таая:
Есть код
void __fastcall TForm1::Button2Click(TObject *Sender)
{
........// какой-то код
for(int j=0;j<10;j++)
{
........// какой-то код
if(!S1.AnsiCompareIC(S2)==0)
{
Edit1->Text=S1;
Edit2->Text=S2;
Button1->Enable=true;
//а здесь необходимо 1)дождаться пока user нажмет Button1 и 2) Необходимо вернууться именно в эту точку кода
}
}
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
........// какой-то код
}
Заработался мозги совсем не пашут, помогите!!!
Проблема таая:
Есть код
void __fastcall TForm1::Button2Click(TObject *Sender)
{
........// какой-то код
for(int j=0;j<10;j++)
{
........// какой-то код
if(!S1.AnsiCompareIC(S2)==0)
{
Edit1->Text=S1;
Edit2->Text=S2;
Button1->Enable=true;
//а здесь необходимо 1)дождаться пока user нажмет Button1 и 2) Необходимо вернууться именно в эту точку кода
}
}
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
........// какой-то код
}
Попробуй через мьютексы.Юзверь нажимает кнопку выполняется код освобаждается
мьютекс и твой код начинает выполнятся дальше типо такого
По-моему, проще (и правильнее) изменить логику работы. Зачем возвращаться в ту же точку? Не проще код, который нужно выполнять после нажатия на кнопку Button1 выполнять в обработчике OnClick этой кнопки? Это между прочим основа событийно-ориентированного (или как его там) программирования. Вам не кажется странным, что нажатие на одну кнопку вы хотите обрабатывать обработчиком другой? Или объясните почему так...
ИМЕННО!
Просто надо перестроиться на объектно-ориентированное программирование и разбить код по событиям...
НУ можно круто написать типа ТРЕД (:D люди это просто прикол) и в ТО САМОЕ место вставить
CreateEvent(тра-та-та... - с событиями наверное попроще...
__beginthread(тред)
WaitForSingleObject(событие,INFINITE)
но это извращение...:D
А вообще лучше сделать как сказал Berg
По-моему, проще (и правильнее) изменить логику работы. Зачем возвращаться в ту же точку? Не проще код, который нужно выполнять после нажатия на кнопку Button1 выполнять в обработчике OnClick этой кнопки? Это между прочим основа событийно-ориентированного (или как его там) программирования. Вам не кажется странным, что нажатие на одну кнопку вы хотите обрабатывать обработчиком другой? Или объясните почему так...
спасибо чуваки за помощь!!!
мне нужно вернуться именно в эту точка потому что там, как видите, у меня цикл, т.е. надо его продолжить (!!!)
событие Button1Click() выполняет то, что нужно (проблем нет)
но кажеться я нашел решение, надо цикл for() оформить ввиде отдельной функции, индекс-переменную j объявить как глобальную
и передовать как параметр в функцию. ну как?
попробую раскажу чем дело закончилось(или не закончиться)
спасибо чуваки за помощь!!!
мне нужно вернуться именно в эту точка потому что там, как видите, у меня цикл, т.е. надо его продолжить (!!!)
событие Button1Click() выполняет то, что нужно (проблем нет)
но кажеться я нашел решение, надо цикл for() оформить ввиде отдельной функции, индекс-переменную j объявить как глобальную
и передовать как параметр в функцию. ну как?
попробую раскажу чем дело закончилось(или не закончиться)
Эй-Эй ПОЛЕГЧЕ С ГЛОБАЛЬНЫМИ!!! :D
Может, ограничится Static или на худой конец рамками класса формы?