Страница 1 из 1

Что возвращает метод TThread.Start

СообщениеДобавлено: 13.04.2011 22:42:39
AbakAngelSoft
Достался по наследству от другого разработчика код. В нем активно используются потоки и постоянно встречается конструкция
Код: Выделить всё
if Thread.Start then ... else ...

В Lazarus Start это процедура которая ничего не возвращает. В имеющейся у меня справке по Delphi тоже написано что это процедура. Delphi под рукой нет т.к. работаю под Ubuntu. И соответственно перевожу код под нее. В исходниках оставшихся у меня со времен Delphi6 этого метода вообще нет. Только Resume. Мне вспоминается что его зачем-то объявили устаревшим.

Что возвращает Start? Где взять это значение при использовании Lazarus?

Re: Что возвращает метод TThread.Start

СообщениеДобавлено: 14.04.2011 00:20:31
Sergei I. Gorelkin
В FPC TThread.Start соответствует имеющейся в открытом доступе дельфевой документации: http://docwiki.embarcadero.com/VCL/en/C ... read.Start
Если она не соответствует действительности, то тут нужно уточнять у тех, у кого есть последние версии дельфей.

Еще есть вероятность, что в проекте этот метод перекрыт у какого-нибудь потомка TThread.

Re: Что возвращает метод TThread.Start

СообщениеДобавлено: 14.04.2011 09:04:32
AbakAngelSoft
Нет в проекте метод не перекрыт. Вы правы - по всей видимости не соответствует документации.
Откуда вообще берутся любители недокументированных возможностей? Неужели штатных средств не достаточно?
Ну уже разобрался по логике кода. Скорее всего должно возвращаться
Код: Выделить всё
not Terminated
Во всяком случае так этот кусок кода работает.