qPhoenix
19.10.2006, 19:33
Собсно ламерский вопросец - можно ли, и как организовать многопоточность в консольном приложении?
в чем у меня лажа?...:
делаю так:
program Project1;
{$APPTYPE CONSOLE}
uses Classes;
type
Thread = class(TThread)
procedure Execute; override;
end;
procedure Thread.Execute;
begin
writeln('lol');
end;
begin
Thread.Create(false);
end.
Непашет... :(
Затем ради интереса проделываю аналогичное с использованием формы:
unit Unit1;
interface
uses Forms, StdCtrls, Classes, Controls;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
end;
Thread = class(TThread)
procedure Execute; override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure Thread.Execute;
begin
Form1.Label1.Caption:='lol';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Thread.Create(false);
end;
end.
Фсе гламурно пашет...
В чем грабли? :(
в чем у меня лажа?...:
делаю так:
program Project1;
{$APPTYPE CONSOLE}
uses Classes;
type
Thread = class(TThread)
procedure Execute; override;
end;
procedure Thread.Execute;
begin
writeln('lol');
end;
begin
Thread.Create(false);
end.
Непашет... :(
Затем ради интереса проделываю аналогичное с использованием формы:
unit Unit1;
interface
uses Forms, StdCtrls, Classes, Controls;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
end;
Thread = class(TThread)
procedure Execute; override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure Thread.Execute;
begin
Form1.Label1.Caption:='lol';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Thread.Create(false);
end;
end.
Фсе гламурно пашет...
В чем грабли? :(