Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

Потоки-потоки   Найти похожие ветки 

 
SpyBoy ©   (2005-07-20 23:15) [0]

type
TMyThread1 = class(TThread)
private
{ Private declarations }
protected
procedure DoWork;
procedure Execute; override;
end;

Не работает:выдает сообщение:
[Error] Unit1.pas(16): Unsatisfied forward or external declaration: "TMyThread1.DoWork"


 
Eraser ©   (2005-07-21 00:10) [1]

SpyBoy ©   (20.07.05 23:15)

Приведи реализацию procedure DoWork;


 
SpyBoy ©   (2005-07-21 12:11) [2]

type
  TMyThread1 = class(TThread)
  private
    { Private declarations }
  protected
    procedure DoWork;
    procedure Execute; override;
  end;

  TMyThread2 = class(TThread)
  private
    { Private declarations }
  protected
    procedure DoWork;
    procedure Execute; override;
  end;

var Form1: TForm1;
    T1   : TMyThread1;
    T2   : TMyThread2;

implementation

procedure TMyThread1.Execute;
begin
  {Пока процесс не прервали, выполняем DoWork}
  while not Terminated do
    Synchronize(DoWork);
end;

procedure TMyThread2.Execute;
begin
  {Пока процесс не прервали, выполняем DoWork}
  while not Terminated do
    Synchronize(DoWork);
end;

procedure TMyThread1.DoWork;
begin
  {Пытаемся победить второй процесс :-)}
  Form1.CheckBox1.Checked := True;
end;

procedure TMyThread2.DoWork;
begin
  {Пытаемся победить первый процесс :-)}
  Form1.CheckBox1.Checked := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  {Если кнопка называется Stop...}
  if Button1.Caption = "Stop" then begin
    {Прерываем оба процесса}
    T1.Terminate;
    T2.Terminate;
    {Изменяем название кнопки}
    Button1.Caption := "Start";
    {Выходим из процедуры}
    Exit;
  end;
  {Создаем и сразу запускаем два процесса}
  T1 := TMyThread1.Create(False);
  T2 := TMyThread2.Create(False);
  {Здесь можно поэкспериментировать с приоритетами:
   T1.Priority := tpLowest;
   T2.Priority := tpHighest;
   }
  {Переименовываем кнопку}
  Button1.Caption := "Stop";
end;


 
Digitman ©   (2005-07-21 12:19) [3]

Кариха - в топку.


 
Ботвин Дмитрий   (2005-07-21 12:46) [4]

Во первых нахрен нужен такой код?
А во вторых почему у тебя в разделе protected для двух разных потоков одна и та же процедура прописана?
Как это синхронизироваться должно то?


 
kblc ©   (2005-07-21 13:11) [5]

type
TMyThread1 = class(TThread)
 protected
   procedure DoWork;
   procedure Execute; override;
 end;

procederu TMyThread1.DoWork;
begin
 //
end;


 
Digitman ©   (2005-07-21 13:18) [6]


> kblc ©   (21.07.05 13:11) [5]


эт чего такое было ?)


 
alpet ©   (2005-07-21 13:20) [7]

>procederu
Компилятор должно быть не понимает, что ты хотел обозначить процедуру :))


 
alpet ©   (2005-07-21 13:23) [8]

Бесполезный совершенно код - у тебя установка флажка все равно производится в основном потоке,а от вспомогательных толку ноль. Если сообщение BM_SETCHECK контролу посылал из каждого - такой же был бы результат.


 
kblc ©   (2005-07-21 13:23) [9]

не успел извиниться... я 2 ночи не спал - а помочь хотелось... прогнал я чё-то...

он писал что у него ошибка такая, как будто этой ф-ии ваще нету ;)
забейте на сегодня на немучачего меня ;)


 
SpyBoy ©   (2005-07-27 16:25) [10]

alpet ©   (21.07.05 13:23) [8]
Тогда как её осуществить через вспомогательнЫЕ


 
Fay ©   (2005-07-27 18:14) [11]

Как эта ветка попала в WinAPI?!


 
alpet ©   (2005-07-27 18:25) [12]

SpyBoy ©   (27.07.05 16:25) [10]

И какой тебе в итоге будет толк от этого? Флажок наверняка будет меняться еще даже до перерисовки много раз - ты визуально не уследишь что к чему.

Есть в Delphi\Demos\Threads неплохой пример "соревнования" потоков в сортировке, советую с него начать изучение работы многопоточности.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.016 c
1-1122466911
race1
2005-07-27 16:21
2005.08.14
Буфер обмена


8-1113129692
Дятел-45
2005-04-10 14:41
2005.08.14
Можно ли получить изображение из веб-камеры в Delphi?


14-1122062193
SoftX
2005-07-22 23:56
2005.08.14
Порно развивает телекоммуникации :)


14-1122111263
alex-drob
2005-07-23 13:34
2005.08.14
Проблема с отображением шрифта на странице


1-1121939073
Kolan
2005-07-21 13:44
2005.08.14
Изменение размеров контролов при Resize формы





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