Вниз
Скачать: 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.024 c
10-1121943189
sarcin
2005-07-21 14:53
2006.07.16
JavaScript Events на IntraWeb


1-1149152229
Kolan
2006-06-01 12:57
2006.07.16
Как сделать объект управляющий другими потоком?


2-1151377913
learner
2006-06-27 07:11
2006.07.16
CloseHandle при INVALID_HANDLE_VALUE .


4-1142139196
Интересующийся
2006-03-12 07:53
2006.07.16
Как определить в какой ОС работает прога?


15-1149859574
AlexanderMS
2006-06-09 17:26
2006.07.16
Задачка на сообразительность




   Наверх