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

TDataSource i overload

[es] :: Pascal / Delphi / Kylix :: TDataSource i overload

[ Pregleda: 1292 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

franjo_tahi2
Franjo Tahi
Zagreb

Član broj: 289851
Poruke: 43
*.adsl.net.t-com.hr.



Profil

icon TDataSource i overload24.10.2011. u 09:58 - pre 152 meseci
Radim nasljednika kontrole TDataSource. Kako napraviti overrload events-a OnDataChange?
pokušao sam ovako pa ne ide... ne znam kako da mu kažem da izvrši proc. DoOnDataChage.
Isto tako ne znam kako da pozovem korisničku tj. onu koja je definirana van klase.

Code:

TMyDataSource = class(TDataSource)
  private
    { Private declarations }
    fOnDataChange: TDataChangeEvent;
    ...
 published
    { Published declarations }
    property OnDataChange: TDataChangeEvent read fOnDataChange write fOnDataChange;
  end;

procedure TMyDataSource.DoOnDataChange;
begin
  ShowMessage('mjenja 2.1');
  // da li poziv može:
  if Assigned(OnDataChange) then OnDataChange;
end;


 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: TDataSource i overload24.10.2011. u 15:01 - pre 152 meseci
> Radim nasljednika kontrole TDataSource. Kako napraviti overrload events-a OnDataChange?

Koliko vidim nema DoOnDataChange metoda tako da ćeš morati da handler koji korisnik postavi zameniš sa svojim koji uradi šta želiš i posle pozove korisnikov handler.

 
Odgovor na temu

franjo_tahi2
Franjo Tahi
Zagreb

Član broj: 289851
Poruke: 43
*.adsl.net.t-com.hr.



Profil

icon Re: TDataSource i overload24.10.2011. u 15:41 - pre 152 meseci
Obviously je to, ali meni se ne izvršava moja metoda koju definiram u klasi.
Koliko sa gledao po klasi TDataSource i njenim predhodnicima, nema metode doOn..... Kako da klasu natjeram da izvši moju meodu DoOnDataChage koju sam definirao unutar nje (na listingu post prije)?

Nisam kopirau u listing, njena delkaracija postoji u klasi i Delphi uredno prevede kod.

Nisam naposao: koristim D2007

Molim ako mi možete pomoći što prije, zapeo sam na tom dijelu. Ako ne uspjem ugurati kod u novu kontrolu koja će nasljediti TDataSource, morat ću kreirati posbenu klasu, a to mi nije najelegantije rješenje. Radi, ali...
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
195.46.55.*



+62 Profil

icon Re: TDataSource i overload25.10.2011. u 08:42 - pre 152 meseci
Lepo ti savkic rekao, ali evo jos mala pomoc:

Code:

  TMyDataSource = class(TDataSource)
  private
    { Private declarations }
    fUserDataChange: TDataChangeEvent;
    fMyDataChange: TDataChangeEvent;
    ...
  public
    procedure Loaded; override;
  published
    { Published declarations }
    property OnDataChange: TDataChangeEvent read fOnDataChange write fUserDataChange;
  end;


Sve sto sad treba da uradis je da u metodi Loaded podmetnes TVOJ handler, u kojem proveravas da li je dodeljen USER handler, i ako jeste izvrsavas ga. Prakticno, kod koji si napisao u Doxxx metodi...

Pozz
 
Odgovor na temu

franjo_tahi2
Franjo Tahi
Zagreb

Član broj: 289851
Poruke: 43
*.adsl.net.t-com.hr.



Profil

icon Re: TDataSource i overload25.10.2011. u 13:54 - pre 152 meseci
Uspio riješiti, zahvaljujem na pomoći :)

Što sve ne radimo za korisnika... žele upis/izmjenu naopako: najpije se unesu podaci u obične TEdit kontrole, a onda se kaže "upiši". Sada mjenjam tDtaSource tako da to njemu kažem: koje kontrole koristi za prikaz, koje za update/append itd. (a moglo je sve jednostavnije...)
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: TDataSource i overload

[ Pregleda: 1292 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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