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