Вниз
Скачать: CL | DM;

Простой вопрос TThread   Найти похожие ветки 

← →
_Anonymous ©   (2005-08-20 20:00) [0]

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

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.


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


← →
Alexander Panov ©   (2005-08-20 20:06) [1]

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


← →
_Anonymous ©   (2005-08-20 20:14) [2]

ДИКО ИЗВИНЯЮСЬ за дубликат темы. под пивом.
ошибки следующие...
 [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


← →
_Anonymous ©   (2005-08-20 20:15) [3]

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


← →
Defunct ©   (2005-08-20 20:21) [4]

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


← →
Defunct ©   (2005-08-20 20:22) [5]

> _Anonymous

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


← →
_Anonymous ©   (2005-08-20 20:26) [6]

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


← →
Defunct ©   (2005-08-20 20:33) [7]

_Anonymous ©   (20.08.05 20:26) [6]

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

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


← →
_Anonymous ©   (2005-08-20 20:38) [8]

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


← →
_Anonymous ©   (2005-08-20 20:39) [9]

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:41) [10]

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


← →
Defunct ©   (2005-08-20 20:41) [11]

_Anonymous ©   (20.08.05 20:38) [8]

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


← →
_Anonymous ©   (2005-08-20 20:56) [12]

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

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

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


← →
Defunct ©   (2005-08-20 21:02) [13]

_Anonymous ©   (20.08.05 20:56) [12]

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

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

procedure TCheckThread.Execute;
begin
 ...
end;


← →
Defunct ©   (2005-08-20 21:06) [14]

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


← →
_Anonymous ©   (2005-08-20 21:21) [15]

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


← →
Defunct ©   (2005-08-20 21:28) [16]

_Anonymous ©   (20.08.05 21:21) [15]

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

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


← →
_Anonymous ©   (2005-08-20 22:06) [17]

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


← →
KilkennyCat ©   (2005-08-20 22:07) [18]

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



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

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.025 c
14-1126017783
rrrrrr
2005-09-06 18:43
2005.10.02
Битмапы для кнопочек


2-1124753373
Quadra
2005-08-23 03:29
2005.10.02
"Зависающее" приложение


2-1124465608
_zx
2005-08-19 19:33
2005.10.02
chart


1-1126154546
Big Joe
2005-09-08 08:42
2005.10.02
XPManifest1 не хочет исчезать


2-1124979182
Sphinx
2005-08-25 18:13
2005.10.02
Странная ошибка




   Наверх