Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Design Time Çalışan Nesne  (Okunma sayısı 2247 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı hayati

  • Administrator
  • *****
  • İleti: 860
  • Rep: +19/-3
  • Cinsiyet: Bay
Design Time Çalışan Nesne
« : 30 Ağustos 2007 07:53:40 »
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

Kod: Delphi
  1. unit Unit2;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs;
  6. type
  7.   TMyThread = class(TThread)
  8.   private
  9.     FOwner: TForm;
  10.  
  11.     procedure Process;
  12.   public
  13.     constructor Create(AOwner: TForm);
  14.     destructor Destroy; override;
  15.     procedure Execute; override;
  16.   end;
  17.  
  18.   TMyObj = class(TGraphicControl)
  19.   private
  20.     FThreadObj: TMyThread;
  21.   public
  22.     constructor Create(AOwner: TComponent); override;
  23.     destructor Destroy; override;
  24.     procedure Paint; override;
  25.   end;
  26.  
  27. procedure Register;
  28.  
  29. implementation
  30.  
  31. procedure Register;
  32. begin
  33.   RegisterComponents('Standard', [TMyObj]);
  34. end;
  35.  
  36. { TMyThread }
  37.  
  38. constructor TMyThread.Create(AOwner: TForm);
  39. begin
  40.   FOwner := AOwner;
  41.   inherited Create(False);
  42. end;
  43.  
  44. destructor TMyThread.Destroy;
  45. begin
  46.  
  47.   inherited;
  48. end;
  49.  
  50. procedure TMyThread.Execute;
  51. begin
  52.   while not Self.Terminated do
  53.   begin
  54.     Synchronize(Self.Process);
  55.     Sleep(100);
  56.   end;
  57. end;
  58.  
  59. procedure TMyThread.Process;
  60. begin
  61.   FOwner.Left := Random(200);
  62.   FOwner.Top := Random(200);
  63. end;
  64.  
  65. { TMyObj }
  66.  
  67. constructor TMyObj.Create(AOwner: TComponent);
  68. begin
  69.   inherited;
  70.   FThreadObj := TMyThread.Create(TForm(AOwner));
  71.  
  72. end;
  73.  
  74. destructor TMyObj.Destroy;
  75. begin
  76.  
  77.   inherited;
  78. end;
  79.  
  80. procedure TMyObj.Paint;
  81. begin
  82.   inherited;
  83. end;
  84.  
  85. end.

« Son Düzenleme: 30 Ağustos 2007 07:55:21 by babahayati »
Olsa dahi tenimin kıl biten her yeri bir dil, güçsüzüm şükretmeye,şükrüm binde bir bile değil (İ.R.)

Çevrimdışı x2ck11

  • Yeni Üye
  • *
  • İleti: 1
  • Rep: +0/-0
Ynt: Design Time Çalışan Nesne
« Yanıtla #1 : 03 Mart 2009 02:56:48 »
abi bunu yaptım acayip oldu form yerinde durmuyor.nasıl bu şekilde çalışılır benim kafam döndü :D bu şekilde çalışmak isteyen varsa da helal olsun ne deyim :D

Çevrimdışı barutali

  • Administrator
  • *****
  • İleti: 2.117
  • Rep: +51/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: Design Time Çalışan Nesne
« Yanıtla #2 : 10 Temmuz 2009 12:52:37 »
ben alamayım hocam çok tehlikeli bir bileşen bu yerinde durmuyor form :D bi label koyayım dedim forma ter bastı :D



Amatör Küme Programcı