Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.04 c
1-1132134636
Andrey21
2005-11-16 12:50
2005.12.11
Автоматическое изменение Height RichEdit-а


4-1128585452
chili
2005-10-06 11:57
2005.12.11
Com порт + Card Reader MSR206


4-1129121344
Mamed
2005-10-12 16:49
2005.12.11
Open file


3-1130135969
vl
2005-10-24 10:39
2005.12.11
sql запрос


1-1131697645
rusgl
2005-11-11 11:27
2005.12.11
Excel, Как изменить чего-то в комментариях к ячейке?




   Наверх