Форум: "Прочее";
Текущий архив: 2009.09.13;
Скачать: [xml.tar.bz2];
ВнизПерегрузка оператора присваивания в структурах Найти похожие ветки
← →
Кто б сомневался © (2009-07-15 20:30) [0]Дано:
TSidRec = record
SID: PSID;
SIDLength: integer;
class operator Implicit(ANewSid: PSID): TSidRec;
end;
class operator TSidRec.Implicit(ANewSid: PSID): TSidRec;
begin
Result.SID := ..
end;
Как получить ссылку на текущую структуру TSidRec?
Result - насколько я понял новая структура, которая будет поставлена на место старой. Если посмотреть Result в отладичке - то в ней будут рэндомные значения, поэтому я так понимаю это свежесозданный record,
Возможно ли это? В справке не написано об этом.
И что происходит со старой структурой? Она уничтожается по идее?
← →
Игорь Шевченко © (2009-07-15 20:38) [1]
> Как получить ссылку на текущую структуру TSidRec?
Self ?
← →
oxffff © (2009-07-15 20:42) [2]
> Перегрузка оператора присваивания в структурах
По идеалогии Pascal перегрузка оператора присваивания недопустима.
В твоих примерах речь идет о явном и неявном преобразовании типов.
← →
Кто б сомневался © (2009-07-15 20:43) [3]
> Self ?
Нет. Это record
← →
Кто б сомневался © (2009-07-15 20:51) [4]
> В твоих примерах речь идет о явном и неявном преобразовании
> типов.
Верно. Но суть вопроса не меняется.
← →
oxffff © (2009-07-15 20:58) [5]
> Кто б сомневался © (15.07.09 20:51) [4]
А почему тогда у тебя параметром стоит тип PSID?
RTFM. :)
← →
Кто б сомневался © (2009-07-15 21:00) [6]> В твоих примерах речь идет о явном и неявном преобразовании
> типов.
Кстати, нашел тут - возможна неявная перегрузка оператора присваивания.
http://www.realcoding.net/articles/delphinet-peregruzka-operatorov.html#IDAGQF2C
← →
Кто б сомневался © (2009-07-15 21:03) [7]
> oxffff © [5]
Не гони, лошадей .. Там все ок. :)
← →
oxffff © (2009-07-15 21:09) [8]
> Кто б сомневался © (15.07.09 21:03) [7]
Там врут и не стесняются. Я серьезно.
← →
Кто б сомневался © (2009-07-15 21:18) [9]
> > Кто б сомневался © (15.07.09 21:03) [7]
>
>
> Там врут и не стесняются. Я серьезно.
Ниче не понял чес говоря.. Ты про статью?
← →
oxffff © (2009-07-15 21:20) [10]
>
> Ниче не понял чес говоря.. Ты про статью?
Естественно.
← →
Игорь Шевченко © (2009-07-16 00:57) [11]
> Нет. Это record
и че ?type
TFoo = record
private
FName: string;
public
procedure Bar (const AName: string);
procedure Cry;
end;
...
{ TFoo }
procedure TFoo.Bar(const AName: string);
begin
FName := AName;
end;
procedure TFoo.Cry;
begin
ShowMessage(" My name is "+Self.FName);
end;
....
var
Foo: TFoo;
begin
Foo.Bar("Foo");
Foo.Cry;
end;
← →
Пит (2009-07-16 13:14) [12]ЭЭЭЭ... Господа!!! Я подумал, что вчера перепил, тут так серьезно обсуждают все это...
А с каких это времен внутри рекорда можно объявлять методы?!
← →
Кто б сомневался © (2009-07-16 13:42) [13]
> > Нет. Это record
>
>
> и че ?
Игорь, в таких методах как Implicit нелья его использовать. Матерится компилятор. Я self проверил в самом начале.
> ЭЭЭЭ... Господа!!! Я подумал, что вчера перепил, тут так
> серьезно обсуждают все это...
>
> А с каких это времен внутри рекорда можно объявлять методы?
> !
Давно уже, а ты все еще пользуешся семеркой, когда столько вкусностей и удобностей в старших версиях языка..
← →
PEAKTOP © (2009-07-16 13:45) [14]> А с каких это времен внутри рекорда можно объявлять методы?
С времен CGRS2009. Только вопрос: на куа ?
Да, есть в природе реальные и прикольные задачи (например, run-time дизайнер объектов или форм, a-la Delphi), где вся эта мощь новых расширений языка будет полезна и дает красивый, читабельный код.
А для задач по проще (а по сути - прикладных ежедневных вопросов) вполне спецификации Delphi7 хватает выше крыши.
← →
Кто б сомневался © (2009-07-16 13:45) [15]
> Давно уже, а ты все еще пользуешся семеркой, когда столько
> вкусностей и удобностей в старших версиях языка..
щас скажу точнее, еще 3-4 года назад, с Delphi 2006.
← →
Кто б сомневался © (2009-07-16 13:49) [16]
> PEAKTOP © (16.07.09 13:45) [14]
> Только вопрос: на куа ?
> Да, есть в природе реальные и прикольные задачи (например,
> run-time дизайнер объектов или форм, a-la Delphi), где
> вся эта мощь новых расширений языка будет полезна и дает
> красивый, читабельный код.
>
> А для задач по проще (а по сути - прикладных ежедневных
> вопросов) вполне спецификации Delphi7 хватает выше крыши.
>
Ты сам и ответил на этот вопрос.
У всех разные ведь задачи. ты занимаешся прикладными задачами попроще, а я run-time дизайнером объектов или форм, посложнее.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.09.13;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c