Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.009 c
14-39015
TGrigory
2004-01-22 22:18
2004.02.13
Компонет для отображения лога чата


1-38807
Layner
2004-02-03 08:36
2004.02.13
Подскажите, как


14-39031
Думкин
2004-01-26 06:29
2004.02.13
С днем рождения! 26 января.


14-39029
Dimka Maslov
2004-01-24 11:21
2004.02.13
О политике


3-38745
Pisar
2004-01-21 12:05
2004.02.13
Как программно связать master и detail?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский