Вниз
Скачать: CL | DM;

Обойти OleVariant   Найти похожие ветки 

← →
XProger ©   (2006-04-03 03:57) [0]

Есть функция в качестве одного из параметров, принимающая OleVariant. Существует ли возможность передачи параметра (строки) не используя вариантных типов?
Любые ссылки по теме, приветствуются :)

Заранее благодарен!


← →
Сергей М. ©   (2006-04-03 08:30) [1]

Если функция требует именно OleVariant, значит и надо передавать OleVariant.


← →
tesseract ©   (2006-04-03 10:41) [2]

А чем тебе OLEVariant не нравится?


← →
XProger ©   (2006-04-03 17:47) [3]

tesseract, +50 кб - этим не нравится.

Сергей М., если принимает данные, значит эти данные имеют какую-то структуру, которую можно создать вручную. И передавать, избегая вызовы не нужных мне функций для работы с вариантным типом.

Т.е. вопрос можно поставить так: как устроен вариантный тип?


← →
XProger ©   (2006-04-03 18:43) [4]

Разобрался

var
 v : packed record
   VType     : Word;
   Reserved1 : Word;
   Reserved2 : Word;
   Reserved3 : Word;
   varOleStr : PWideChar;
   Reserved4 : Word;
   Reserved5 : Word;
 end;
...
 ZeroMemory(@v, SizeOf(v));
 v.VType     := varOleStr;
 v.varOleStr := PWideChar(str);

Затем передаю v вместо OleVariant типа. В итоге получаю 0 (практически ;) прирост к exe файлу :)

Тема закрыта


← →
Leonid Troyanovsky ©   (2006-04-03 18:55) [5]


> XProger ©   (03.04.06 18:43) [4]

>  v.varOleStr := PWideChar(str);


Строка-то WideString?

--
Regards, LVT.


← →
XProger ©   (2006-04-04 04:24) [6]

Leonid Troyanovsky, угу :)


← →
tesseract ©   (2006-04-04 10:21) [7]


> если принимает данные, значит эти данные имеют какую-то
> структуру,


Все данные имеют структуру. Просто с variant  меньше проблем.



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

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



Память: 0.46 MB
Время: 0.025 c
15-1150386238
kaif
2006-06-15 19:43
2006.07.16
Футбол. Наемники. Кто как относится к этой практике?


6-1141971797
WondeRu
2006-03-10 09:23
2006.07.16
TServerSocket внутри COM-сервера.


4-1144333437
KorD
2006-04-06 18:23
2006.07.16
Как обратиться к свойству компонента, зная его хендл?


2-1151675414
Новичоккк
2006-06-30 17:50
2006.07.16
Работа с buf:pointer как с массивом char


1-1149523008
Valerio
2006-06-05 19:56
2006.07.16
Как правильно описать свойство класса?




   Наверх