Главная страница
    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.011 c
14-38995
Knight
2004-01-27 01:51
2004.02.13
Ваши настольные книги...


1-38871
Awod
2004-02-03 18:03
2004.02.13
Порядок создание элементов внутри компонента


1-38822
Maxio
2004-02-04 17:08
2004.02.13
Проценты


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


1-38801
Agent13
2004-02-02 16:57
2004.02.13
Пара вопросов по RichEdit





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