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

Вниз

Как получить обратиться к полю класса (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.031 c
14-1132159902
default
2005-11-16 19:51
2005.12.11
Математическая точка


10-1109218623
rosl
2005-02-24 07:17
2005.12.11
перейти на следующую страницу


2-1132814923
tytus
2005-11-24 09:48
2005.12.11
Снова Paskal


14-1132635587
Экспериментатор
2005-11-22 07:59
2005.12.11
Чем форматировать исходники, чтобы в божий вид привести


2-1132595929
апропо
2005-11-21 20:58
2005.12.11
Функции RightStr, LeftStr





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