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

Kreiranje objekata @Runtime

[es] :: Pascal / Delphi / Kylix :: Kreiranje objekata @Runtime

[ Pregleda: 2001 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_v!rus_
BGD

Član broj: 40451
Poruke: 313
217.26.66.*



+1 Profil

icon Kreiranje objekata @Runtime14.04.2005. u 02:09 - pre 231 meseci
Da li neko zna nacin za kreiranje objekata @Runtime kada imam samo naziv klase. Imam naziv klase u stringu, ali kako napraviti instancu u zavisnosti od naziva klase?

Da pojasnim, imam jednu parent klasu i mnogo direktnih potomaka iste. Podaci o instancama (child) klasa se snimaju u stream, koji se kasnije u drugom programu ucitava...
E sad, oba programa koriste iste klase, i u stream-u se snima i naziv klase, ali kada ih drugi program ucitava treba da na osnovu imena klase instancira objekat (i naravno posle instanciranja da ucita odgovarajuca polja, itd)... Znam da bih mogao sa case-om, ali klase se cesto dodaju i oduzimaju sto otezava odrzavanje, a i siguran sam da ima drugi nacin. Cim mogu da prosledjujem (uslovno receno) "nazive" klasa kao parametar funkcijama (koristeci metaklase-"class of" strukturu) skoro sam siguran da moze i ovo.
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 617
*.zaslon-telecom.si.



Profil

icon Re: Kreiranje objekata @Runtime14.04.2005. u 07:52 - pre 231 meseci
da li ti ovo šta pomaže?

Code:

unit Unit1;

interface

uses
  Classes, Forms, Dialogs, Controls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

type TSasa = class(TPersistent)
  public
    procedure DoIt;
end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TSasa.DoIt;
begin
  ShowMessage('Hello from TSasa');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TSasa((GetClass('TSasa')).Create) do
  begin
    DoIt;
    Free;
  end;
end;

initialization
  RegisterClass(TSasa);
end.



ss.
When something is hard to do, then it's not worth doing.
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
212.200.120.*



+1 Profil

icon Re: Kreiranje objekata @Runtime14.04.2005. u 16:07 - pre 231 meseci
@sasas
Thnx, nisam znao za postojanje GetClass f-je.
Jedino sto moram da nasledjujem od TPersistent i sto klasa mora biti registrovana. Ipak sam mislio da postoji neki cisto jezicki nacin za tako nesto, oh well...
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Kreiranje objekata @Runtime

[ Pregleda: 2001 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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