Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Вниз

Свойство с необязательным индексом   Найти похожие ветки 

 
SPeller ©   (2004-08-02 08:02) [0]

Всем доброго времени суток!

У меня такая вот загогулина. Есть свойство класса, объявленное так:

   property SelEndPos[ NewLineIfEOL: Boolean = False ]: TPos read GetSelEndPos write SetSelEndPos;

где TPos - это структура, имеющая 2 поля типа Integer. Обращаю внимание на необязательный индекс. Делаю Auto-completion классу, и получаю методы Get и Set. Причем оба с ошибками и при попытке скомпилить всё это, выскакивает два incompatible types. С методом Get всё просто - надо лишь добавить значение параметра по умолчанию:

   function GetSelEndPos( NewLineIfEOL: Boolean = False ): TPos;

А вот с методом Set уже хуже. В изначальном виде

   procedure SetSelEndPos( NewLineIfEOL: Boolean; const Value: TPos );

компилятор ругается, а параметр по умолчанию перед обязательным не подставишь. Кто-нибудь может подсказать как быть в этой ситуации? Или возможность вписать необязательный индекс - это лишь замануха? :)


 
SPeller ©   (2004-08-02 08:10) [1]

Хех, похоже на замануху :) Если всё-же оставить только метод Get, то прочитать свойство невозможно. Ни один из вариантов не проходит:

SelEndPos; SelEndPos[]; SelEndPos[false];

Причем в первом случае требует квадратных скобок, во втором - expression expected, а в третьем - too many actual parameters!!!

:-))


 
SPeller ©   (2004-08-04 12:34) [2]

Что, никто не может прокомментировать этот случай?


 
KSergey ©   (2004-08-04 12:41) [3]

Есть подозрение, что так сделать вообще нельзя... Не предусмотрено. Да и логике как-то оно не очень, по моему, соответствует ;) Для того  и индксированное св-ство, хотя я и понимаю, что хотеться может многое
Опять же - без свойства можно выкрутиться, просто методами. А то привыкли, понимаешь, свойства им подавай ;)


 
SPeller ©   (2004-08-04 12:48) [4]

Я просто попробовал вставить = False, оно и проглотило. Даже метод Get можно прописать. Но вот дальше... Может это не доработка? Ведь спокойно могла сказать что нельзя такого делать.


 
KSergey ©   (2004-08-04 12:56) [5]

Ну они не думали, что это кто-то попытается сделать :)
Как "магические" фразы в ворде.
Впрочем, могу заблуждаться.


 
SPeller ©   (2004-08-04 15:47) [6]

Очень странно что они "не думали об этом"..



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
3-1090987909
Ani
2004-07-28 08:11
2004.08.22
Как передать содержимое QuickRep в MsWord?


3-1090594934
Koala
2004-07-23 19:02
2004.08.22
Изменения в базе


4-1089642335
AD_infiniTUM
2004-07-12 18:25
2004.08.22
Определение, по какой колонке сделан щелчок в ListView


6-1087542460
Dennisius
2004-06-18 11:07
2004.08.22
Дискриминация других почтовых серверов на Yandex.RU


14-1091775375
zamkom
2004-08-06 10:56
2004.08.22
Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский