Design Time Çalışan Nesne Gönderen: babahayati Tarih: 30 August 2007 07:53:40
Notice: Undefined index: current_action in
/home/del10000/domains/delphidunyasi.net/public_html/Sources/Subs.php on line
2391
Boş bir unit açın ve aşağıdaki kodu oraya yapıştırın ve kaydedin. sonra Component > Install Component diyerek bu nesneyi kurun, nesne Standard sekmesine yerleşecek. daha sonra bu nesneden formunuza bir tane koyun. ve formunuzu izleyin, ilginç birşey. bu! bileşenin gerekliliğini tartışılabiliriz ama tasarım anında çalışan bileşen fikri gerçekten ilginç ve programlama yaparken programcıya/kullanıcıya nasıl ve nezaman avantaj sağlar bunu tartışsak daha iyi olur kanımca, tartışmaya değer bulursanız
Kodlama dili (delphi)
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TMyThread = class(TThread)
private
FOwner: TForm;
procedure Process;
public
constructor Create(AOwner: TForm);
destructor Destroy; override;
procedure Execute; override;
end;
TMyObj = class(TGraphicControl)
private
FThreadObj: TMyThread;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Paint; override;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Standard', [TMyObj]);
end;
{ TMyThread }
constructor TMyThread.Create(AOwner: TForm);
begin
FOwner := AOwner;
inherited Create(False);
end;
destructor TMyThread.Destroy;
begin
inherited;
end;
procedure TMyThread.Execute;
begin
while not Self.Terminated do
begin
Synchronize(Self.Process);
Sleep(100);
end;
end;
procedure TMyThread.Process;
begin
FOwner.Left := Random(200);
FOwner.Top := Random(200);
end;
{ TMyObj }
constructor TMyObj.Create(AOwner: TComponent);
begin
inherited;
FThreadObj := TMyThread.Create(TForm(AOwner));
end;
destructor TMyObj.Destroy;
begin
inherited;
end;
procedure TMyObj.Paint;
begin
inherited;
end;
end.