Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.13;
Скачать: 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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.009 c
14-39088
Кот Бегемот
2004-01-23 16:28
2004.02.13
Ураааа !!! Любимый форум зарработаллл !!!


3-38759
_mandrake_
2004-01-16 17:58
2004.02.13
Помогите с запросом


8-38966
Демон
2003-10-08 22:22
2004.02.13
Эфекты от Winamp а


3-38733
Санек
2004-01-24 19:13
2004.02.13
Таблица с вычисляемыми вертикальными полями ?


3-38732
sergg
2004-01-21 17:43
2004.02.13
Проблема выборки по дате из ACCESS2002 через ADO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский