Вниз
Скачать: CL | DM;

ProgressBar1 и TThread   Найти похожие ветки 

← →
AlexeyITN   (2004-02-03 16:04) [0]

Заупскаю прогу. При первом запуске всё отлично. При повторном - не работает. В чемё проблема?
-------------------------------
unit Unit1;
uses unit3;
...
procedure TForm1.Button3Click(Sender: TObject);
begin
T1 := Potok.Create(False);T1.Priority := tpHigher;
end;
--- --- ---
unit Unit3;
type
Potok = class(TThread)
....
var T1 : Potok;
implementation
uses Unit1;
procedure Potok.Execute;
begin
while not Terminated do
DoWork;
end;
procedure Potok.Dowork;
begin
Unit1.Form1.ProgressBar1.Visible:=True;
Windows.MessageBox( 0, PChar("!!!"),"OK",MB_OK or MB_ICONWARNING);
Unit1.Form1.ProgressBar1.Visible:=False;
T1.Terminate;
end;
--------------------------------------------
Почему при нажатии на кнопку во второй раз...ProgressBar1 не становится видимым?


← →
Тимохов ©   (2004-02-03 16:05) [1]

Про TThread читал?
Про synchronize читал?
Делай выводы...


← →
alex_*** ©   (2004-02-03 16:10) [2]

второй поток только для ProgressBar нужен?


← →
AlexeyITN   (2004-02-03 16:11) [3]

читал...если влепить synchronize , то перестанет работать функция...(опрос всех компов в сети)


← →
Тимохов ©   (2004-02-03 16:12) [4]


> читал...если влепить synchronize

А если отлепить, то вообще кирдык.


← →
alex_*** ©   (2004-02-03 16:14) [5]

Если прогресс только включать/выключать надо,
PostMessage(Form1.Handle,WM_USER,...) для формы давай - не надо будет на синхронизацию заморачиваться.
зы. Ну и наращивать его таким же способом можно.


← →
AlexeyITN   (2004-02-03 16:16) [6]

procedure Potok.Dowork;
begin
if (EstComp("FF04")) and (Form1.NameOfComp<>"SV04") then
begin
....
end;
end;
function Potok.EstComp(sv:string): boolean;
var
pHostEn : PHostEnt;
wVersionRequested : WORD;
lwsaData : WSAData;
error : DWORD;
begin
result:=false;
wVersionRequested := MakeWord(1,1);
error := WSAStartup(wVersionRequested,lwsaData);
if (error <> 0) then
begin
EstComp:=false;
end;
pHostEn := gethostbyname(PChar(sv));
error := GetLastError();
if (error <> 0) then
begin
EstComp:=false;
end
else EstComp:=true;
end;
Так что мне делать....тогда функция gethostbyname не пашет?


← →
AlexeyITN   (2004-02-03 16:32) [7]

всё :) дошло :)
Всем спасибо и удачи!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
3-38700
Pat
2004-01-25 00:37
2004.02.13
Строка подключения


1-38860
AndersoNRules
2004-02-02 12:16
2004.02.13
Mojno li programno dati useru bolishe privelegii chem esti ...


8-38970
Dmitriy O.
2003-10-14 10:24
2004.02.13
Фотошоп не понимает BMP записаный самостоятельно


3-38754
Vemer
2004-01-21 10:14
2004.02.13
Как запихать 2 копии на 1лист в QReport?


14-39019
Cerber
2004-01-26 14:31
2004.02.13
Авторские права




   Наверх