Главная страница
    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
14-1132300801
vopros
2005-11-18 11:00
2005.12.11
дайте, пожайлуста ссылку на ГОСТ на ТЗ для написанио ПО


14-1132204863
Иг_Иг
2005-11-17 08:21
2005.12.11
Молодёжка Украины совершила чудо.........!


5-1116420936
Priest
2005-05-18 16:55
2005.12.11
Регистрация своего расширения в DreamDesigner


2-1133194800
newlogin
2005-11-28 19:20
2005.12.11
куда мне с компилятором


14-1132314851
Udaff
2005-11-18 14:54
2005.12.11
розыскиваю книги автора





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