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

Varijable u Pascalu/Delphi-u

[es] :: Pascal / Delphi / Kylix :: Varijable u Pascalu/Delphi-u

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MarkoBalkan

Član broj: 141124
Poruke: 1624
..139.160-dsl.net.metronet.hr.



+19 Profil

icon Varijable u Pascalu/Delphi-u04.04.2009. u 23:35 - pre 183 meseci
koristim lazarus.

kako u pascalu definirati varijablu kao new?




kako koristiti recimo komponentu za firebird bazu, bez da ju stavim na formu?



u uses je navedena klasa, ali mi ne radi.
 
Odgovor na temu

xenox
ex Memodata sysadmin
Beograd

Član broj: 6903
Poruke: 168
212.200.65.*

ICQ: 7682925


+3 Profil

icon Re: Varijable u Pascalu/Delphi-u05.04.2009. u 22:08 - pre 183 meseci
uses mojekompnente;


procedure kreirajkomponentu;
var MojaKomp:@TKompnenta;

begin
new(MojaKOmp);
MojaKomp:=Tkomponenta.create;

end;

ne zaboravi da je free i dispose kad zavrsis...
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
79.101.210.*



+62 Profil

icon Re: Varijable u Pascalu/Delphi-u06.04.2009. u 09:50 - pre 183 meseci
Ne bih rekao da je gornji primer dobar. Treba valjda ovako:

Code:

procedure kreirajkomponentu;
var 
  MojaKomp: ^TKomponenta; // pointer na TKomponenta  
begin
  new(MojaKomp);
  MojaKomp^ := TKomponenta.Create(nil); // ako JESTE komponenta, ima parametar Owner...
  // ...
  // ...
  MojaKomp^.Free;
  dispose(MojaKomp);  
end;


Kljucno u ovoj prici je da je MojaKomp zapravo pointer na pointer/referencu. Prema tome, i ovo je sasvim ispravno

Code:

var
  MojaKomp: ^TKomponenta;
  Komp: TKomponenta;
begin
  Komp := TKomponenta.Create(nil);
  MojaKomp := @Komp;

  MojaKomp^.Free;  // ovo upravo ubija komponentu
  // u ovom slucaju se NE radi dispose(), jer nije bilo ni new()
end;



Rajko
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Varijable u Pascalu/Delphi-u

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

Postavi temu Odgovori

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