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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
3-45747
Beglec
2002-10-21 17:27
2002.11.14
Сложный вопрос по SQL


3-45763
Евген
2002-10-25 12:06
2002.11.14
Возможность ввода в DBLookupComboBox


3-45749
kalan
2002-10-25 04:37
2002.11.14
Работа с клиентским набором данных


1-45946
kiko
2002-11-04 12:13
2002.11.14
Какая разница между кодировками Win1251 и WIN


1-45851
BOA_KAA
2002-11-03 18:01
2002.11.14
Порядок событий при создании и показе окна





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