Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Вопрос по Thread, мож кто прояснит в чём дело...   Найти похожие ветки 

 
_Agent_   (2003-11-04 17:16) [0]

создаю Ветвь..
type
TScanThr = class(TThread)
DBFQuery:TQuery;
SQLStorPr:TStoredProc;
protected
procedure Execute; override;
public
constructor Create(........);
destructor Destroy; override;
end;

implementation
constructor TScanThr.Create ( ......);
begin
inherited Create(True);
FreeOnTerminate :=True;
DBFQuery:=TQuery.Create(nil);
.......
SQLStorPr:=TStoredProc.Create(nil);
.......
Resume;
end;

procedure TScanThr.Execute;
begin
..........
end;

destructor TScanThr.Destroy;
begin
if Assigned(DBFQuery) then
begin
DBFQuery.Close;
DBFQuery.Free;
DBFQuery := nil;
end;
if Assigned(SQLStorPr) then
begin
SQLStorPr.Close;
SQLStorPr.Free;
SQLStorPr := nil;
end;
inherited;
end;
спервого раза всё отрабатывает нормально и destructor тоже.
далее если из основного потока вызвать
If not Assigned( ScanThr)then (где ScanThr:TScanThr)
begin
//действия повторно не выполняются
end;
мож я как то не так удаляю ветвь в деструкторе
Заранее благодарен..


 
Игорь Шевченко ©   (2003-11-04 17:33) [1]

После деструктора переменная ScanThr не обнуляется. Отладчиком надо пользоваться вообще-то...


 
Chlavik ©   (2003-11-04 17:40) [2]


..
ScanThr:=TScanThr.Create......
ScanThr.OnTerminate:=ScanThrTerminate;
..

procedure Form1.SQLStorPrTerminate(Sender:TObject);
begin
ScanThr:=nil;
end;


 
_Agent_   (2003-11-04 18:00) [3]

Спасибо большое.....
P.S. Век живи, век учись .... и дальше что то про дурака и смерть :)))



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.063 c
1-41238
saurin
2003-10-31 14:05
2003.11.13
поиск DLL


14-42029
REA
2003-10-16 11:30
2003.11.13
Вопросы на экзамен


1-41720
Ivolg
2003-11-03 18:12
2003.11.13
Перехват (X)


7-42199
pst
2003-08-27 18:29
2003.11.13
AsyncPro for Delphi6


14-41897
Думкин
2003-10-17 04:59
2003.11.13
С днем рождения! 17 октября.