![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MessageDlg в потоке [D6, Win2k]
denis24 © (2005-01-20 18:27:00)В создаваемом на главной форме потоке выполняю цикл в конструкции try..except..end
При ошибке в секции except юзера спрашишает продолжить/нет
Так вот ,в среде делфи все вроде ок(ошибка,идет в except .спрашивает ,если mrno то exit из цикла,иначе продолжаем.
А запуская сам экзешник на этом вопросе при нажатии на "да" все равно не продолжает и вылетает из цикла.
Где грабли?
Digitman (2005-01-21 16:21:00) [1]
> denis24 (21.01.05 16:12) [8]
остается надеяться, что ты понялВСЕ отличия MessgaeDlg от MessageBox
denis24 (2005-01-21 16:12:00) [2]Спасибо GuAV ©
Помогло
AlexG (2005-01-21 15:26:00) [3]Покажи Execute потока. Полностью.
Eraser (2005-01-21 14:56:00) [4]denis24
Уточни параметры при вызове MessgaeDlg.
GuAV (2005-01-21 13:23:00) [5]И нужем вам этот Messgae Dlg?
Не лучше ли воспользоваться Message Box?
Digitman (2005-01-21 12:44:00) [6]тело MessageDlg() обращается к VCL-объектам, а это НЕдопустимо в контексте доп.трэда.
Poirot (2005-01-21 12:41:00) [7]А мб ошибка возникает просто в другом месте?:))
ЗЫ: а код можно было оформить нормально? тут теги даже есть для этого!
denis24 (2005-01-21 12:37:00) [8]Создаю поток
frmSplash:=TfrmSplash.Create(self);
with Tworking_select.Create1(true,DirectoryEditvd.Text,DirectoryEditv1.Text,FilenameEdit1.Text,ComboBox1.text,choice,cmbFile. ItemIndex) do
try
FreeOnTerminate:=true;
OnTerminate:=frmSplash.Working_ReportFinished ;
resume;
frmSplash.ShowModal;
finally
frmSplash.free;
end;
В потоке
Создаю тейблы
потом цикл
while tablehelp.Eof=false do
.
. case choice of
1:
begin
try
.
.
.
except
if MessageDlg('Ошибка ....Продолжить)=mrno then
begin
tablehelp.Close; Screen.; exit;
end;
end;
end;
2:
begin
try
.
.
.
except
if MessageDlg('Ошибка ....Продолжить)=mrno then
begin
tablehelp.Close; Screen.; exit;
end;
end;
end;
tablehelp.next;
end;
В run-time все ок.На ответ да продолжается цикл.
Запуская чистый экзешник вылетает на ошибке доже не предлагая вопрос продолжить Да/нет
begin...end (2005-01-20 18:30:00) [9]> denis24 (20.01.05 18:27)
> В создаваемом на главной форме потоке
Уже смешно.
> Где грабли?
Где код?