Arşiv Anasayfa Dosyalar
Sayfalar: 1
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.