Вниз
Скачать: 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.028 c
15-1150463110
if then
2006-06-16 17:05
2006.07.16
Chto takoe iskustvennyj intelekt


2-1151522230
resuS
2006-06-28 23:17
2006.07.16
Запуск приложения. Пользователь в неведении.


2-1151366523
fantasy
2006-06-27 04:02
2006.07.16
RaveReport


15-1150350642
Ega23
2006-06-15 09:50
2006.07.16
С Днём рождения! 15 июня


15-1150282525
dexis
2006-06-14 14:55
2006.07.16
Что-та типа splitterа, раскрывающий/скрывающий панель оним кликом




   Наверх