Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Простой вопрос TThread


_Anonymous ©   (2005-08-20 20:00:00) 

Прошу прощения за столь простой вопрос. Это моя первая прога под окошки и мне необходимы потоки. Вот сокращённая версия кода.
Почему не работает?

unit main;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, Menus;
type
   TMyFormName = class(TForm)
 end;
var
 MyFormName: TMyFormName;
 checker:integer;
implementation
type
 TCheckThread = class(TThread);
 protected  procedure TCheckThread.Execute; override;
end;
{$R *.dfm}
rocedure TCheckThread.Execute;
 checker:=nil;
end;
end.


Единственное что требуется от цикла это изменение глобальной переменной.


KilkennyCat   (2005-08-20 22:07:00) [1]

Это Defunct-то добрый?! :)


_Anonymous   (2005-08-20 22:06:00) [2]

Балин. Чё бы я дурак делал без добрыx людей? =))) рабокает. большое спасибо.
тема исчерпана.


Defunct   (2005-08-20 21:28:00) [3]

_Anonymous ©   (20.08.05 21:21) [15]

Ладно раз пиво так дурно влияет на внимательность, говорю прямо:

TCheckThread = class(TThread); <--- Здесь точка с запятой лишняя.


_Anonymous   (2005-08-20 21:21:00) [4]

Так тоже не рабокает %))) та же ошибка.


Defunct   (2005-08-20 21:06:00) [5]

ты можещь взять и полностью скопировать представленный код [13] или [4] в свою программу? После того как все заработает будешь искать 3 отличия. Обязательно найди все 3.


Defunct   (2005-08-20 21:02:00) [6]

_Anonymous ©   (20.08.05 20:56) [12]

даже будучи под пивом, врать нехорошо.
что там делает 2-й end?

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

procedure TCheckThread.Execute;
begin
 ...
end;


_Anonymous   (2005-08-20 20:56:00) [7]

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

оши6ка таже что и с TCheckThread.Execute;

премного вам благодарен!


_Anonymous   (2005-08-20 20:41:00) [8]

protected  procedureA TCheckThread.Execute; override;
[Error] main.pas(15): '=' expected but 'PROCEDURE' found
procedureA это косяк с ctrl+a. спасибо большоечто кто-то читает тему.


Defunct   (2005-08-20 20:41:00) [9]

_Anonymous ©   (20.08.05 20:38) [8]

Я же вам эту ошибку уже исправил. см [4].
вы ее опять допускате в [9].


_Anonymous   (2005-08-20 20:39:00) [10]

unit main;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, Menus, globals, othfunc;

type
   TMyFormName = class(TForm)            {My types}
   hotkeybutton: TButton;
   HotKey1: THotKey;
   play: TButton;
   hotkeylabel: TLabel;
   Label1: TLabel;
   Label3: TLabel;
   Label2: TLabel;
   atkdelayedit: TEdit;
   procedure FormCreate(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure playClick(Sender: TObject);
   procedure hotkey1Change(Sender: TObject);
   procedure hotkeybuttonClick(Sender: TObject);
 private
   procedure WMHotKey(var Msg: TWMHotKey);
   message WM_HOTKEY;
 end;

var
 MyFormName: TMyFormName;       {MY VARIABLES}
 i:integer;
 stopmarker:boolean;
 workedcounter:string;
 atkdelay:integer;

implementation

type
 TCheckThread = class(TThread);
 protected  procedureA TCheckThread.Execute; override;
end;
{$R *.dfm}
procedure TMyFormName.WMHotKey(var Msg:TWMHotKey);           {WMHotKey}
begin.....


_Anonymous   (2005-08-20 20:38:00) [11]

Ошибка в точности такая же как если бы я не урезал код.


Defunct   (2005-08-20 20:33:00) [12]

_Anonymous ©   (20.08.05 20:26) [6]

Не надо ничего кусать для компактности.
Компактность от лукавого.

Лучше расширить для наглядности.


_Anonymous   (2005-08-20 20:26:00) [13]

Я его покусал для компактности, но ошибку сохранил.


Defunct   (2005-08-20 20:22:00) [14]

> _Anonymous

А вообще жуткий код..


Defunct   (2005-08-20 20:21:00) [15]

TCheckThread = class(TThread)
protected  
  procedure Execute; override;
end;


_Anonymous   (2005-08-20 20:15:00) [16]

это в строке
protected  procedure TCheckThread.Execute; override;


_Anonymous   (2005-08-20 20:14:00) [17]

ДИКО ИЗВИНЯЮСЬ за дубликат темы. под пивом.
ошибки следующие...
 [Error] main.pas(15): '=' expected but 'PROCEDURE' found
 [Error] main.pas(15): ';' expected but '.' found
 [Error] main.pas(15): '=' expected but ';' found
 [Error] main.pas(16): '.' expected but ';' found


Alexander Panov   (2005-08-20 20:06:00) [18]

А этот код компилировался вообще?


Наверх

Титульная страница Поиск, карта сайта Написать письмо