Текущий архив: 2008.02.03;
Скачать: CL | DM;
ВнизВопрос про поток... Найти похожие ветки
← →
vegarulez © (2008-01-03 20:08) [0]мастера помогите...
пытаюсь делать как написано вот тут
http://www.delphimaster.ru/articles/panov/
но он почему то в потоке ругается на конструктор - типа
Declaration of "Create" differs from previous declaration
type
TSend = class(TThread)
private
FSelect: String; //переменная запроса
{ Private declarations }
protected
procedure Execute; override;
public
constructor Create(aSelect: String);
end;
implementation
uses Unit1;
{ TSend }
constructor TSend.Create(aPath: String);
begin
inherited Create(True); //Созданный поток создается в приостановленном состоянии
FreeOnTerminate := True; //Поток освободит ресурсы при окончании работы
FSelect := aSelect; //Переменная селекта из основного потока
Self.Priority := Tplower; //Низкий приоритет
Resume; //Запускаем приостановленный поток
end;
Подскажите что не так? делаю вроде всё также как в статье...
← →
vegarulez © (2008-01-03 20:12) [1]всё... понел ошибку когда прочёл свой же вопрос... выделленный мною же жирный фрагмент... в нём ошибка была...
aPath то забыл заменить на свою переменную...
всем спасибо - разобрался...
← →
_Mike_ (2008-01-03 21:41) [2]
> constructor TSend.Create(aPath: String);
> begin
> inherited Create(True); //Созданный поток создается
> в приостановленном состоянии
> FreeOnTerminate := True; //Поток освободит ресурсы при
> окончании работы
> FSelect := aSelect; //Переменная селекта из основного
> потока
> Self.Priority := Tplower; //Низкий приоритет
> Resume; //Запускаем приостановленный
> поток
> end;
Какой-то глупый код...
Почему бы так не написать:
> constructor TSend.Create(aPath: String);
> begin
> FreeOnTerminate := True;
> FSelect := aSelect;
> Priority := Tplower; // Self То тут зачем????
> inherited Create(False); // Ну и сразу запускаем. Нах тут Resume???
> end;
← →
MetalFan © (2008-01-03 21:48) [3]
> Почему бы так не написать:
словишь ошибку при установке Priority.
← →
ага (2008-01-03 21:58) [4]2 _Mike_
Ага. А вызов Priority := Tplower куда пойдет? На Сириус к зеленым человечкам?
> Ну и сразу запускаем. Нах тут Resume???
А затем что версии Delphi и до 2007 бывают. Пятая например.
← →
Loginov Dmitry © (2008-01-03 22:00) [5]А почему бы так не написать:
constructor TSend.Create(aPath: String);
begin
inherited Create(False);
FreeOnTerminate := True; //Поток освободит ресурсы при окончании работы
FSelect := aSelect; //Переменная селекта из основного потока
Self.Priority := Tplower; //Низкий приоритет
end;
Вызов CreateThread уже давно перенесен в AfterConstructor.
← →
ага (2008-01-03 22:06) [6]2 Loginov Dmitry ©
> А почему бы так не написать:
А потому что статья писалась до того как
> Вызов CreateThread уже давно перенесен в AfterConstructor.
← →
MetalFan © (2008-01-03 22:25) [7]
> Вызов CreateThread уже давно перенесен в AfterConstructor.
Resume туда перенесли.
а BeginThread как был в конструкторе, так и остался. (правда он там создается с CREATE_SUSPENDED
← →
vegarulez © (2008-01-04 02:12) [8]нда...
мне в этом обсуждении остаётся тока нервно покуривать в сторонке...
и сжимать в кулаке свои 5 копеек до лучших времён... )
Из выше прочитанного...
У меня D6, в котором скорее всего, я думаю, ещё не было никуда ничего перенесяно...
← →
_Mike_ (2008-01-04 02:45) [9]
> MetalFan © (03.01.08 21:48) [3]
ага. Точно. Что-то, блин, праздники на пользу не пошли...
Страницы: 1 вся ветка
Текущий архив: 2008.02.03;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.07 c