Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 4.735 pregleda

Najnovija ↓

Instaliranje komponente, ali bez .pas fajla 18.01.2005. u 10:01 · pre 265 meseci #1
Skinuo sam jednu komponentu sa Torry-ja, ali ne znam kako da je instaliram posto ne dolazi sa PAS fajlom, vec samo DCR i DCU fajlovima. Znam da se komponente instaliraju tako sto se napravi paket, ubaci se PAS, kompajlira i instalira, ili preko Components > Install Component, ali kada ubacim DCU fajl, on pokusava da ga interpretira kao tekstualni PAS, pojave se kuke i motike, i od instalacije nema nista.
Pomoc!

PS. Konkretno mi treba TTrackBar koji ima MouseDown i MouseUp evente. Da li znate jos nesto osim TMouseBar-a sa Torry-ja?
Re: Instaliranje komponente, ali bez .pas fajla 18.01.2005. u 12:30 · pre 265 meseci #2
TTrackBar vec ima OnMouseUp/Down samo sto nisu vidljivi (protected) tako da je dovoljno da napises:

Code:

  TTrackBar2 = class (TTrackBar)
  public
    property OnMouseUp;
    property OnMouseDown;
  end;

i da instaliras to kao novu komponentu.

A onaj DCU mozda nece da radi jer nije iskompajliran pod verzijom Delfija koju ti imas?
Re: Instaliranje komponente, ali bez .pas fajla 18.01.2005. u 15:12 · pre 265 meseci #3
Gde gresim? Evo cele forme, i mouse up/down ne radi.

Code:
type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TMyTrackBar = class (TTrackBar)
    procedure MyTrackBarMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure MyTrackBarMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  public
    property OnMouseUp;
    property OnMouseDown;
  end;

var
  Form1: TForm1;
  TrackBar1: TMyTrackBar;

implementation

{$R *.dfm}

procedure TMyTrackBar.MyTrackBarMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  Form1.Label1.Caption := IntToStr(TrackBar1.Position);
end;

procedure TMyTrackBar.MyTrackBarMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  Form1.Label1.Caption := IntToStr(TrackBar1.Position);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  TrackBar1 := TMyTrackBar.Create(Form1);
  TrackBar1.Parent := Form1;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  TrackBar1.Free;
end;

end.
Re: Instaliranje komponente, ali bez .pas fajla 18.01.2005. u 16:40 · pre 265 meseci #5
Nece. Prijavljuje mi "Undeclared identifier: MyTrackBarMouseUp".

A kad promenim u

Code:
TrackBar1.OnMouseDown := TMyTrackBar.MyTrackBarMouseDown;


kaze mi "Incompatible types: TMouseEvent and Procedure".
Re: Instaliranje komponente, ali bez .pas fajla 18.01.2005. u 17:34 · pre 265 meseci #7
Ma nista, napravio sam novu komponentu koju sam izveo iz TTrackBar, u published ubacio potrebne evente i registrovao je na Sample paletu. Sad sve radi.

Hvala na pomoci.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme