Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa komponentom..

[es] :: Pascal / Delphi / Kylix :: Problem sa komponentom..

[ Pregleda: 3040 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Problem sa komponentom..28.12.2005. u 19:46 - pre 200 meseci
Radim bezveze nov ukomponentu, i naslijedim TButton i kreiram Edit1 i Edit2, ali kad komponentu postavim na formu, ti editi se uopce ne vide..

Code:

unit TMojDigitron;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Dialogs;

type
  TDigitron = class(TButton)
  private
    { Private declarations }
    Edit1:TEdit;
    Edit2:TEdit;
    procedure zbroji(Sender: TObject);
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOwner:TComponent); override;
    destructor Destroy; override;
  published
    { Published declarations }
    property Align;
    property Anchors;
    property AutoSize;
    property BiDiMode;
    property Color nodefault;
    property Constraints;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property Font;
    property ParentBiDiMode;
    property ParentColor;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property ShowHint;
    property Visible;
    property WordWrap;
    property OnClick;
    property OnContextPopup;
    property OnDblClick;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnEndDrag;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnStartDock;
    property OnStartDrag;
  end;

procedure Register;

implementation


procedure TDigitron.zbroji(Sender: TObject);
begin
ShowMessage(IntToStr(StrToInt(Edit1.Text)+StrToInt(Edit2.Text)));
end;


constructor TDigitron.Create(AOwner:TComponent);
begin
 inherited Create(AOwner);
 Edit1:=TEdit.Create(self);
 Edit2:=TEdit.Create(self);

 Edit1.Visible:=true;
 Edit1.Top:=5;
 Edit1.Left:=10;

 Edit2.Visible:=true;
 Edit2.Top:=10;
 Edit2.Left:=10;

 Caption:='Zbroji';
 OnClick:=zbroji;
end;


destructor TDigitron.Destroy;
begin
Edit1.Free;
Edit2.Free;

inherited;
end;

procedure Register;
begin
  RegisterComponents('Samples', [TDigitron]);
end;

end.




Prije ovoga sam stavio umjesto Self Parent..nije ni tako htjelo radit!

Unaprijed hvala,p0z.
 
Odgovor na temu

Milos D
Beograd

Član broj: 5621
Poruke: 280
*.adsl.sezampro.yu.



+1 Profil

icon Re: Problem sa komponentom..28.12.2005. u 20:01 - pre 200 meseci
Edit1.parent := self;
Edit2.parent := self;
 
Odgovor na temu

Relaja
Relja Petrovic
Krusevac

Član broj: 48066
Poruke: 111
*.smin.sezampro.yu.

ICQ: 393683437


Profil

icon Re: Problem sa komponentom..28.12.2005. u 20:25 - pre 200 meseci
Code:
constructor TDigitron.Create(AOwner:TComponent);
begin
 inherited Create(AOwner);
 Edit1:=TEdit.Create(self);
 Edit2:=TEdit.Create(self);


Ja mislim da je greska ovde .Umesto self treba da stavis isto AOwner.
Poz.
Ljubav je kad ja prdnem a njoj ne smrdi.
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Problem sa komponentom..28.12.2005. u 20:55 - pre 200 meseci
Ne znam nikako nece, samo se stvar jos pogorsala
Aj probajte vi..napravite paket od ovog koda i dodajte tu komponentu, i stavite ju na formu i recite dal vam se srusi delphi...meni vec stalno za redom cim stavim tu komponentu delphi padne..


Code:

unit TMojDigitron1;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Dialogs;

type
  TMojDigitron = class(TButton)
  private
    { Private declarations }
    Edit1:TEdit;
    Edit2:TEdit;
    procedure zbroji(Sender: TObject);
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOwner:TComponent); override;
    destructor Destroy; override;
  published
    { Published declarations }
  end;

procedure Register;

implementation


procedure TMojDigitron.zbroji(Sender: TObject);
begin
ShowMessage(IntToStr(StrToInt(Edit1.Text)+StrToInt(Edit2.Text)));
end;


constructor TMojDigitron.Create(AOwner:TComponent);
begin
inherited Create(self);
Edit1:=TEdit.Create(Parent);
Edit2:=TEdit.Create(Parent);
Edit1.Parent:=self;
Edit2.Parent:=self;

 Edit1.Visible:=true;
 Edit1.Top:=5;
 Edit1.Left:=10;

 Edit2.Visible:=true;
 Edit2.Top:=35;
 Edit2.Left:=10;

 Top:=65;
 Left:=10;
 Caption:='Zbroji';
 OnClick:=zbroji;


end;



destructor TMojDigitron.Destroy;
begin
Edit1.Free;
Edit2.Free;

inherited;
end;

procedure Register;
begin
  RegisterComponents('Samples', [TMojDigitron]);
end;

end.

 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Problem sa komponentom..28.12.2005. u 21:14 - pre 200 meseci
Delphi ti se rusi zbog:
Code:
inherited Create(self);

 
Odgovor na temu

Milos D
Beograd

Član broj: 5621
Poruke: 280
*.adsl.sezampro.yu.



+1 Profil

icon Re: Problem sa komponentom..28.12.2005. u 21:42 - pre 200 meseci
Owner je vlasnik komponente. To znaci da kada se unistava Owner automatski se unistavaju i sve njegove komponente. Zato Edit treba da kreiras tako da owner bude self (tj. tvoja komponenta).

Parent je vizuelna kontrola (dakle ne moze biti bilo koja komponenta) na kojoj se nalazi tj. "iscrtava" kontrola. U konstruktoru, self.Parent je NIL. Ali self nije nil pa zato...

inherited Create(AOwner);
Edit1:=TEdit.Create(self);
Edit2:=TEdit.Create(self);
Edit1.Parent:=self;
Edit2.Parent:=self;

i u destruktoru ne moras da unistavas edite.

 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Problem sa komponentom..28.12.2005. u 22:11 - pre 200 meseci
Da u tome je bio problem..
Problem rjesen, hvala svima!
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problem sa komponentom..

[ Pregleda: 3040 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.