Kezdőoldal » Számítástechnika » Programozás » Free Pascalban hogy tudok...

Free Pascalban hogy tudok felszabadítani egy new-al foglalt objektumot?

Figyelt kérdés
Van egy Object kategóriájú típusom. new(<típusnév>, <konstruktorhívás>) formában hoztam létre dinamikusan, és most nem tudom felszabadítani. Egyáltalán, hogy lehet ilyet a vermen létrehozni, helyi változóként?
2010. okt. 21. 08:40
 1/3 ejbenjaro ***** válasza:

Gondolom a Dispose eljárás segíthet a gondod megoldásában.

Bővebben : [link]

2010. okt. 21. 10:38
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:

Nem igazán, ebben a formában semmiképp. Egyszer találtam egy oldalt, amin háromféle metódust írtak le memóriafoglalásra és felszabadításra, de most már csak kettőt találok, és a new-os az a harmadik volt. Úgy foglalok memóriát, hogy

pointer := new(típus, konstruktor)

és ha erre dispose(pointer)-t mondok, akkor valami hibaüzenetet ad, most nem tudom leírni mert nem ott vagyok.

2010. okt. 21. 10:57
 3/3 ejbenjaro ***** válasza:

"Úgy foglalok memóriát, hogy

pointer := new(típus, konstruktor)

és ha erre dispose(pointer)-t mondok, akkor valami hibaüzenetet ad, most nem tudom leírni mert nem ott vagyok."


Ha így foglalsz memóriát, akkor szerintem próbáld így felszabadítani Dispose(Pointer,Destruktor). Vagy az a megoldás is működhet, hogy a memóriafelszabadítás előtt meghívod a pointer destruktorát (pointer.destroy) és utána hívod meg a dispose(pointer)-t.

2010. okt. 21. 21:37
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!