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

Вниз

Variants and Objects   Найти похожие ветки 

 
Juice ©   (2005-08-23 12:09) [0]

Обязательно ли нужно создать пользовательский вариантный тип,  чтобы сохранить обьект (как ссылку) в вариантной переменной ?
var
 v : Variant;
 o : TObject;
 p : pointer;
begin
 v := o; //error
 v:=  p; //error


 
Fay ©   (2005-08-23 12:16) [1]

2 Juice ©   (23.08.05 12:09)
v := Cardinal(p);


 
Juice ©   (2005-08-23 12:22) [2]

А обратно ?
TObject(Pointer(v)) не катит


 
Juice ©   (2005-08-23 12:23) [3]

TObject(Pointer(Integer(x))) зато так прокатило


 
Fay ©   (2005-08-23 12:25) [4]

2 Juice ©   (23.08.05 12:23) [3]
TObject(Cardinal(x))


 
Juice ©   (2005-08-23 13:08) [5]

Ну если о приведении зашла речь, то еще такой вопрос. Как привести Open Array к аналогичному Dynamic Array?

procedure Test(OpenParams : array of Variant);
var
 DynParams : array of Variant;
begin
 DynParams := OpenParams; //error
end;

Причем в заголовке функции хочу использовать именно OpenArray, чтобы я мог вызывать ее как Test([1,2,3]);
Есть ли такое приведение типов или нужно в цикле копировать ?


 
Leonid Troyanovsky ©   (2005-08-23 14:36) [6]


> uice ©   (23.08.05 13:08) [5]
> Ну если о приведении зашла речь, то еще такой вопрос. Как
> привести Open Array к аналогичному Dynamic Array?
..
> Есть ли такое приведение типов или нужно в цикле копировать


В цикле, конечно. RTFM: TVarRec type.

И зачем такие конструкции, как array of Variant,
когда есть VarArrayCreate, VarArrayOf.

--
Regards, LVT.



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

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

Наверх




Память: 0.47 MB
Время: 0.073 c
6-1116268479
olevacho_
2005-05-16 22:34
2005.09.11
Определение работают ли в интернет на компе


1-1124453135
vigo
2005-08-19 16:05
2005.09.11
Как поменять Font.Color TEdit a (при Enabled = False)?


1-1124486594
BBoost
2005-08-20 01:23
2005.09.11
"перерисовать" экран


1-1124191188
Bombila
2005-08-16 15:19
2005.09.11
Как рисовать иконки с alpha-blend(ом)?


14-1124382467
Kerk
2005-08-18 20:27
2005.09.11
Боржоми