Главная страница
    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.01 c
3-38726
mvg_first
2004-01-21 12:18
2004.02.13
Документация по ADO


7-39110
Devourer
2003-11-27 16:01
2004.02.13
Эмуляция нажатия клавиатуры в DOS-программее


1-38930
Pahan_
2004-02-02 22:31
2004.02.13
Как преобразовать строку в Unicode, а так же из Unicode?


3-38740
}|{yk
2004-01-21 13:45
2004.02.13
Последние n записей из таблицы


14-39087
Думкин
2004-01-23 18:12
2004.02.13
С днем рождения! 23 января!





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