🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.pascal
2 messages
2 total messages Started by webmajsterek Thu, 01 Sep 2011 07:51
przeciążanie property
#93189
Author: webmajsterek
Date: Thu, 01 Sep 2011 07:51
18 lines
1580 bytes
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ć .

-- 
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Re: przeciążanie property
#93190
Author: 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
----------------------------------------------
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads