Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c