🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #93190

Re: przeciążanie property

#93190
From: Grzegorz Skoczylas
Date: Thu, 01 Sep 2011 09:40
34 lines
2456 bytes
W dniu 2011-09-01 09:51, webmajsterek@poczta.onet.pl pisze:
>
> czy jest jakaś możliwość przeciążania property ??
> chciałem coś takiego zrobić
>
>   TListMemory=class(TStringList)
>          function Get(Index: Integer): TMemoryStream;overload;
>          function Get(Index: Integer): String;reintroduce;overload;
>          procedure Put(Index: Integer; Item: TMemoryStream);overload;
>          procedure Put(Index: Integer; Item: String);reintroduce;overload;
>       public
>          property Items[Index: Integer]: TMemoryStream read Get write Put;
>          property Items[Index: Integer]: String Read Get Write Put;default;
>    End;
>
> a tu kompilator   w  każdej lini zwraca błąd ze tak nie można przeciążać .

To nie przejdzie - w każdym razie nie przejdzie w Delphi (na pewno do 
wersji 2007; późniejszych jeszcze nie mam). Problem dotyczy 
zdefiniowania funkcji "Get". W Delphi przeładowane funkcje muszą różnić 
się parametrami. Różnica tylko w typie wyniku funkcji nie jest 
wystarczająca. Można to obejść zmieniając nazwy tych funkcji, na 
przykład na "GetMem" i "GetStr".

Drugi problem dotyczy właściwości. Delphi, a przynajmniej wersje do 
2007, nie pozwala na przeładowanie właściwości.


-- 
Pozdrawiam,

Grzegorz Skoczylas
http://gskoczylas.rekord.pl
----------------------------------------------
Technical Details
Message-ID: <j3njv5$mbc$1@news.dialog.net.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
References: <5a65.00000418.4e5f3969@newsgate.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
From: Grzegorz Skoczylas <gskoczylas@kasuj-to.rekord.pl>
Newsgroups: pl.comp.lang.pascal
Subject: Re: przeciążanie property
Date: Thu, 01 Sep 2011 11:40:50 +0200
Organization: Dialog Net
Lines: 34
Message-ID: <j3njv5$mbc$1@news.dialog.net.pl>
References: <5a65.00000418.4e5f3969@newsgate.onet.pl>
NNTP-Posting-Host: dynamic-78-8-103-181.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1314870054 22892 78.8.103.181 (1 Sep 2011 09:40:54 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Thu, 1 Sep 2011 09:40:54 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666
In-Reply-To: <5a65.00000418.4e5f3969@newsgate.onet.pl>
X-Stationery: 0.7.5
X-Antivirus: avast! (VPS 110831-1, 2011-08-31), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit