Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

help please   Найти похожие ветки 

 
nika_ufc ©   (2002-11-05 02:50) [0]

Я читаю и пишу программу из статьи:Изучение простейших приемов работы с файлами и потоками на примере программы «Монитор каталогов», но есть проблеми,вот и они:
Яприиеду отривок из статьи:


В меню Delphi File выберем New


 
nika_ufc ©   (2002-11-05 03:20) [1]

ufMain:

unit ufMain;

interface

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

type
TfMonDirMain = class(TForm)
mm: TMainMenu;
lbLog: TListBox;
sbMain: TStatusBar;
tmDate: TTimer;
Monitor1: TMenuItem;
mmExit: TMenuItem;
mmStart: TMenuItem;
mmStop: TMenuItem;
procedure tmDateTimer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure mmExitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fMonDirMain: TfMonDirMain;

implementation

{$R *.dfm}


procedure TfMonDirMain.tmDateTimer(Sender: TObject);
begin
sbMain.Panels[0].Text:=FormatDateTime("dd.mm.yyyy hh:nn:ss",Now)
end;

procedure TfMonDirMain.FormCreate(Sender: TObject);
begin
tmDateTimer(Self);
sbMain.Panels[1].Text:="disconnected";
Application.Title:="Directory monitor"
end;


procedure TfMonDirMain.mmExitClick(Sender: TObject);
begin
Close
end;

end.

uMonThread:


unit ufMain;

interface

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

type
TfMonDirMain = class(TForm)
mm: TMainMenu;
lbLog: TListBox;
sbMain: TStatusBar;
tmDate: TTimer;
Monitor1: TMenuItem;
mmExit: TMenuItem;
mmStart: TMenuItem;
mmStop: TMenuItem;
procedure tmDateTimer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure mmExitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fMonDirMain: TfMonDirMain;

implementation

{$R *.dfm}


procedure TfMonDirMain.tmDateTimer(Sender: TObject);
begin
sbMain.Panels[0].Text:=FormatDateTime("dd.mm.yyyy hh:nn:ss",Now)
end;

procedure TfMonDirMain.FormCreate(Sender: TObject);
begin
tmDateTimer(Self);
sbMain.Panels[1].Text:="disconnected";
Application.Title:="Directory monitor"
end;


procedure TfMonDirMain.mmExitClick(Sender: TObject);
begin
Close
end;

end.



 
nika_ufc ©   (2002-11-05 03:34) [2]

uMonThread:

unit uMonThread;

interface

uses
Classes;

type
TMonDirThread = class(TThread)
public
constructor TMonDirThread.Create(aPath: String);
destructor Destroy; override;
private
{ Private declarations }
protected
procedure Execute; override;
end;

implementation

{ Important: Methods and properties of objects in VCL or CLX can only be used
in a method called using Synchronize, for example,

Synchronize(UpdateCaption);

and UpdateCaption could look like,

procedure TMonDirThread.UpdateCaption;
begin
Form1.Caption := "Updated in a thread";
end; }

{ TMonDirThread }

procedure TMonDirThread.Execute;
begin
{ Place thread code here }
end;
constructor TMonDirThread.Create(aPath: String);
begin
inherited Create(True);
FreeOnTerminate:=True;
FPath:=aPath;
Self.Priority:=tpHighest;
Resume;
end;


end.



 
Dr_Mike ©   (2002-11-05 03:41) [3]

Строка 11:
Нельзя писать в объявлении класса так, как пишешь ты
constructor TMonDirThread.Create(aPath: String);
сам класс указывать не нужно!!!
напиши просто constructor Create(aPath: String);
и сразу решатся все проблемы.


 
Dr_Mike ©   (2002-11-05 03:45) [4]

Должно быть так:

TMonDirThread = class(TThread)
public
constructor Create(aPath: String);
destructor Destroy; override;
protected
procedure Execute; override;
end;


 
Dr_Mike ©   (2002-11-05 03:48) [5]

И зачем только пытаться определять деструктор потока ???
Убираем еще одну лишнюю строку:

TMonDirThread = class(TThread)
public
constructor Create(aPath: String);
protected
procedure Execute; override;
end;



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

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-45910
den_c
2002-11-03 20:07
2002.11.14
Как вытащить свойство у родителя


7-46161
kofman
2002-09-10 20:38
2002.11.14
Как получить список запущенных приложений


7-46176
dkDimon
2002-07-13 22:44
2002.11.14
Отключение Пуска и клавиатуры


6-46020
Gerda
2002-09-16 15:26
2002.11.14
Нужно по сети передать фсего 1 строку ;)


4-46188
serge_af
2002-10-03 17:50
2002.11.14
RegEnumValue