|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ShowModal из потока
Помогите, пожалуйста:
Код:
Form2->ShowModal(); Код:
void __fastcall ReadThread::Printing() { Form1->Memo1->Lines->Add((char*)bufrd); //выводим принятую строку в Memo Form1->StatusBar1->Panels->Items[2]->Text = "Всего принято " + IntToStr(counter) + " байт"; //выводим счётчик в строке состояния /*НЕ РАБОТАЕТ*/ Form2->Label1->Caption = (char*)bufrd; if (Form2->Showing) {} else Form2->ShowModal(); /*НЕ РАБОТАЕТ*/ if(Form1->CheckBox3->Checked == true) //если включен режим вывода в файл { write(handle, bufrd, strlen(bufrd)); //записать в файл данные из приёмного буфера } memset(bufrd, 0, BUFSIZE); //очистить буфер (чтобы данные не накладывались друг на друга) } Полный код: Unit1.7z |
#2
|
|||
|
|||
Цитата:
Можно, но придется делать развязку через сообщения и в итоге получишь кучу открытых окошек сообщений, которые замучаешься закрывать. Если тебе это надо для отладки, то кинь куда-нить TMemo и из потока, через Synchronize, просто добавляй туда строчки. |
#3
|
|||
|
|||
Цитата:
Ситуация такая: Со сканера считывается штрих-код, должно автоматом открываться модальное окно, в котором должна быть возможность изменить какие-то данные и затем всё это дело сохраняется в БД, и один раз это срабатывает, но если ошиблись со штрих-кодом, ещё раз щёлкаем сканером и данные в модальном нужно естессно изменить. Если модальное окно открывать, вручную, допустим из менюшки и только потом сканером клацать, то данные в него нормально передаются, т.е. в том случае, если ShowModal не инициировалось из потока. Если из потока открывать окно не модально, то всё так же отлично работает, но тут другая ситуация, в окне должны быть обязательно сделаны корректировки, и тут уже надо делать его либо поверх всех окон (что у меня никак не получается) либо я ваще не знаю как |