powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / RTTI: pfAddress?
9 сообщений из 9, страница 1 из 1
RTTI: pfAddress?
    #39620120
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет
Углублено рассматриваю RTTI, несколько раз наталкивался на TParamFlag, никогда не понимал, что за pfAddress. Эксперименты ни к чему не привели. Кто знает, откуда зверь.

Привожу хидеры:
Код: pascal
1.
2.
  TParamFlag = (pfVar, pfConst, pfArray, pfAddress, pfReference, pfOut, pfResult);
  TParamFlags = set of TParamFlag;
...
Рейтинг: 0 / 0
RTTI: pfAddress?
    #39620123
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUВсем привет
Углублено рассматриваю RTTI, несколько раз наталкивался на TParamFlag, никогда не понимал, что за pfAddress. Эксперименты ни к чему не привели. Кто знает, откуда зверь.
такой величайший умище и в хелп не посмотрел !
http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.TypInfo.TParamFlag
...
Рейтинг: 0 / 0
RTTI: pfAddress?
    #39620173
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Код: sql
1.
2.
P1: Pointer       - [] tkPointer
const P2: Pointer - [pfConst] tkPointer



pfAddress нигде нет
...
Рейтинг: 0 / 0
RTTI: pfAddress?
    #39620183
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ща поднял поиском исходники всех компонентов, что у меня есть - pfAddress активно использует только DevExpress
...
Рейтинг: 0 / 0
RTTI: pfAddress?
    #39620189
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Так а повторить аргумент как? )
...
Рейтинг: 0 / 0
RTTI: pfAddress?
    #39620192
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUdefecator,

Так а повторить аргумент как? )
чего повторить ?

там в коде как-то вот так всё:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
type
  { TMethodParam }

  TMethodParam = record
    Flags: TParamFlags;
    Name: ShortString;
    TypeName: ShortString;
  end;

  cxNavigatorButtonsOnButtonClickEventParams: array[0..2] of TMethodParam = (
    (Flags: [pfAddress]; Name: 'Sender'; TypeName: 'TObject'),
    (Flags: [pfAddress]; Name: 'AButtonIndex'; TypeName: 'Integer'),
    (Flags: [pfVar]; Name: 'ADone'; TypeName: 'Boolean')
  );

procedure TcxCustomNavigatorComponentEditor.Edit;
var
  AButtons: TcxCustomNavigatorButtons;
begin
  AButtons := TcxCustomNavigatorAccess(Component).CustomButtons;
  ShowEventMethod(Designer, AButtons, 'OnButtonClick',
    Component.Name + 'ButtonsButtonClick', cxNavigatorButtonsOnButtonClickEventParams);
end;
...
Рейтинг: 0 / 0
RTTI: pfAddress?
    #39620201
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Всё, поймали
Спасибо :)
pfAddress выставляется для аргументов-экземпляров классов или интерфейсов

Вопрос закрыт
...
Рейтинг: 0 / 0
RTTI: pfAddress?
    #39620312
_Hommer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
defecatorSOFT FOR YOUdefecator,

Так а повторить аргумент как? )
чего повторить ?

там в коде как-то вот так всё:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
type
  { TMethodParam }

  TMethodParam = record
    Flags: TParamFlags;
    Name: ShortString;
    TypeName: ShortString;
  end;

  cxNavigatorButtonsOnButtonClickEventParams: array[0..2] of TMethodParam = (
    (Flags: [pfAddress]; Name: 'Sender'; TypeName: 'TObject'),
    (Flags: [pfAddress]; Name: 'AButtonIndex'; TypeName: 'Integer'),
    (Flags: [pfVar]; Name: 'ADone'; TypeName: 'Boolean')
  );

procedure TcxCustomNavigatorComponentEditor.Edit;
var
  AButtons: TcxCustomNavigatorButtons;
begin
  AButtons := TcxCustomNavigatorAccess(Component).CustomButtons;
  ShowEventMethod(Designer, AButtons, 'OnButtonClick',
    Component.Name + 'ButtonsButtonClick', cxNavigatorButtonsOnButtonClickEventParams);
end;


То что код под копирайтом, не смущает? :) А то времена у нас сейчас необычные :)
...
Рейтинг: 0 / 0
RTTI: pfAddress?
    #39620715
AWSVladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Hommerdefecatorпропущено...

чего повторить ?

там в коде как-то вот так всё:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
type
  { TMethodParam }

  TMethodParam = record
    Flags: TParamFlags;
    Name: ShortString;
    TypeName: ShortString;
  end;

  cxNavigatorButtonsOnButtonClickEventParams: array[0..2] of TMethodParam = (
    (Flags: [pfAddress]; Name: 'Sender'; TypeName: 'TObject'),
    (Flags: [pfAddress]; Name: 'AButtonIndex'; TypeName: 'Integer'),
    (Flags: [pfVar]; Name: 'ADone'; TypeName: 'Boolean')
  );

procedure TcxCustomNavigatorComponentEditor.Edit;
var
  AButtons: TcxCustomNavigatorButtons;
begin
  AButtons := TcxCustomNavigatorAccess(Component).CustomButtons;
  ShowEventMethod(Designer, AButtons, 'OnButtonClick',
    Component.Name + 'ButtonsButtonClick', cxNavigatorButtonsOnButtonClickEventParams);
end;


То что код под копирайтом, не смущает? :) А то времена у нас сейчас необычные :)

Точно, defecator за продвижение девок пару килбаксов зеленых отвалить не мешало бы :)

PS:
А вообще то _defecator не нарушает законы авторского права в своей стране.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / RTTI: pfAddress?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]