Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Как получить обратиться к полю класса (private) из регулярной...   Найти похожие ветки 

 
The One ©   (2005-11-20 11:54) [0]

... процедуры, описанной в том же модуле что и класс.
Сабж.


 
begin...end ©   (2005-11-20 12:29) [1]

Если процедура находится в том же модуле, что и описание класса, то проблем, как раз-таки, быть не должно. Обюращаться можно обычным образом.


 
Карелин Артем ©   (2005-11-20 13:05) [2]


> begin...end ©   (20.11.05 12:29) [1]

Неверно! Процедура должна быть членом класса, а не просто лежать в том же модуле.


 
The One ©   (2005-11-20 13:12) [3]

Немного уйду от полей в сторону методов класса.

type
TMyClass = class
   public
       function MyFunc (A:integer):integer;
end;


В том же модуле существует регулярная процедура:

function AnotherFunc(A:integer):integer;
begin
TMyClass.MyFunc(A);//так примерно хочется сделать мне
end;


Возникает ошибка: This form of method call only allowed for class methods
Как быть?


 
Anton_K ©   (2005-11-20 13:14) [4]


> Процедура должна быть членом класса, а не просто
> лежать в том же модуле.

Не должна.


 
Defunct ©   (2005-11-20 13:21) [5]

The One ©   (20.11.05 13:12) [3]
> Как быть?

TMyClass = class
..
  public
     class function MyFunc (A:integer):integer;
..


 
The One ©   (2005-11-20 14:28) [6]

Ок работает, но снова возникает проблемма:
type
TMyClass = class
   private
      FB:integer;
   protected
      property B:integer read FB write FB;
      class function MyFunc (A:integer):integer;
end;


Как теперь здесь:
class function MyFunc (A:integer):integer;
begin
  result:=A+B//вот так вот сделать?
end;


Т.е. обратиться к защищенному сво-ву класса. Таким вот образом компилятор пишет, что Property "CurrProc" inaccessible here


 
Плохиш ©   (2005-11-20 15:12) [7]


> The One ©   (20.11.05 14:28) [6]
> Ок работает, но снова возникает проблемма:
> Т.е. обратиться к защищенному сво-ву класса. Таким вот образом
> компилятор пишет, что Property "CurrProc" inaccessible here

Правильно пишет, потому что при вызове класс-функции объекта может не существовать, о каких свойствах тогда может идти речь.

PS. Перет тем как давить кнопки рекомендую изучить теорию и понять, что же ты в конце концов сделать хочешь.


 
begin...end ©   (2005-11-20 15:15) [8]

> Карелин Артем ©   (20.11.05 13:05) [2]
> Неверно!

Вы попробуйте, попробуйте.


 
Fay ©   (2005-11-21 03:36) [9]

2 Карелин Артем ©   (20.11.05 13:05) [2]
Да?! А мужики-то не знают! Надо срочно сообщить в Borland.



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

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.039 c
1-1131449717
Lera
2005-11-08 14:35
2005.12.11
Закрытие формы.


14-1132476961
boriskb
2005-11-20 11:56
2005.12.11
Рекомендую сайт


6-1125535648
DeathLess
2005-09-01 04:47
2005.12.11
Скачать файл с докачкой


3-1130151141
Weter
2005-10-24 14:52
2005.12.11
Рациональное обновление набора данных.


4-1129209791
NightLord
2005-10-13 17:23
2005.12.11
Блокировка Windows





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский