🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #334556

Re: kto niszczy te bitmape ???

#334556
From: Zeman
Date: Mon, 09 Jan 2012 22:57
42 lines
2450 bytes
> Powstaje generalne pytanie na ktore probowalem znalezc odpowiedz
> Czy zmienna result (dowolna - abstrachujac od tematu) jest typowa zmienna
> lokalna i czy po uzyciu zaraz po przypisaniu (lub nie) wyniku jest
> niszczona.
> A jesli jest niszczona po uzyciu to znaczy kiedy ?

Zmienna Result jest niszczona, czyli zwalniane jest miejsce wszesniej 
rezerwowane dla Result. Nie jest natomiast tak, ze obiekt wskazany przez 
Result typu jakas klasa jest niszczony. tutaj zaden Free ani Destroy nie 
jest wolany. Co innego zmienna Result typu interfejsowego.
Niszczenie zmiennej jest po uzyciu funkcji i przekazaniu wyniku gdzies 
tam. Ciekawy przyklad byl by z konstrukcja
with MojaFunkcjaZwracaBmp do
begin
   Width:= 345;
   Height:= 654;
   ...
end;
Ale i tak to nie jest zadnym wyjatkiem.

>
> W jednej z biblotek z ktorych kozystam znalalzem w kodzie funkcje ktora
> tworzy i zwraca jako result obiekt typu TpFibQuery (w funkcji podpinana jest
> transakcja i baza) i obiekt ten jest uzywany do wykonania zapytan i nie jest
> nigdzie niszczony i nic nie cieknie ...
>
>

Co to znaczy nie jest nigdzie? Takie dziwadla trzeba zwalniac samemu:

F:= MojaFunkcja; <-- tu utworzy obiekt i podstawi pod result
F.Operacje;
F.Free;


Zapewne jest mozliwe zrobienie dziwacznej hybrydy polaczenia zmiennej 
obiektowej ktora obsluguje intrfejsy i sama sie zwalnia, trzeba by 
umiejetnie pomanipulowac _Release;

Pozwiodronka,
Zeman.
Technical Details
Message-ID: <jefrdn$5au$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <jdutt9$562$1@mx1.internetia.pl> <jdvvfj$99b$1@inews.gazeta.pl> <je030q$saq$1@mx1.internetia.pl> <je6u22$e1u$1@inews.gazeta.pl> <jec1i4$6da$1@mx1.internetia.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Zeman <tereefreqq@baba.strzela.z.luku>
Newsgroups: pl.comp.lang.delphi
Subject: Re: kto niszczy te bitmape ???
Date: Mon, 09 Jan 2012 23:57:03 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 42
Message-ID: <jefrdn$5au$1@inews.gazeta.pl>
References: <jdutt9$562$1@mx1.internetia.pl> <jdvvfj$99b$1@inews.gazeta.pl> <je030q$saq$1@mx1.internetia.pl> <je6u22$e1u$1@inews.gazeta.pl> <jec1i4$6da$1@mx1.internetia.pl>
NNTP-Posting-Host: user-164-127-157-66.play-internet.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1326149880 5470 164.127.157.66 (9 Jan 2012 22:58:00 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 9 Jan 2012 22:58:00 +0000 (UTC)
X-User: zemanpg
In-Reply-To: <jec1i4$6da$1@mx1.internetia.pl>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20111105 Thunderbird/8.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit