Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2014, 22:31   #11
bilibian
Форумчанин
 
Регистрация: 21.01.2014
Сообщений: 389
По умолчанию

XE5, на сколько мне известно, то секция try будет работать не полностью если встретит ошибку, а лишь до того места где эта ошибка возникнет, после чего уйдет в исключение. Или я не прав?
bilibian вне форума Ответить с цитированием
Старый 03.03.2014, 22:46   #12
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Повторяю ещё раз. В секции try except вы описали синхронизацию. Ошибки синхронизации будут игнорироваться. Итог:
Программа работает, а результат нулевой. Знакома ситуация?

Последний раз редактировалось XE5; 03.03.2014 в 22:49.
XE5 вне форума Ответить с цитированием
Старый 04.03.2014, 11:05   #13
STRELOK-2007
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 144
По умолчанию

Вообще я всегда использую для потоков вот такую заготовку, работает безотказно.

Код:
unit Unit1;

interface
uses SysUtils, Classes;

type
 TTestThread = class (TThread)
  protected
   procedure Execute; override;
   procedure Work; virtual;
   procedure Fail(E: Exception); virtual;

  public
   constructor Create; virtual;
 end;

implementation

{ TTestThread }

constructor TTestThread.Create;
begin
 inherited Create(True);
 FreeOnTerminate:=True;
end;

procedure TTestThread.Execute;
begin
 try
  Work;
 except
  on E: Exception do
   Fail(E);
 end;
end;

procedure TTestThread.Fail(E: Exception);
begin
 //handle exceptions here
end;

procedure TTestThread.Work;
begin
 //work here
end;

end.
STRELOK-2007 вне форума Ответить с цитированием
Старый 06.03.2014, 04:05   #14
bilibian
Форумчанин
 
Регистрация: 21.01.2014
Сообщений: 389
По умолчанию

STRELOK-2007, очень интересно! Взял в оборот, спасибо
bilibian вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить доступ к методу потока(TThread) из основного потока? Pcrepair Общие вопросы Delphi 3 30.03.2013 14:52
Должно быть 3 потока. А диспетчер задач показывает, что потока создано 2 BEL9ILLI Общие вопросы Delphi 3 06.12.2011 20:26
Как узнать номер потока из самого потока? GaMeSTeR Помощь студентам 0 03.12.2010 09:50
зависание DeDoK Работа с сетью в Delphi 7 17.08.2010 09:56
Зависание JRcoker Общие вопросы Delphi 8 06.08.2008 08:29