Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.031 c
1-1149066270
Laymer
2006-05-31 13:04
2006.07.16
Шаг мышки


15-1150434472
pavel_guzhanov
2006-06-16 09:07
2006.07.16
непонятная проблема с компом... наконец решил спросить


2-1151489711
0bsid
2006-06-28 14:15
2006.07.16
фокус ввода


4-1144245366
spyrytus
2006-04-05 17:56
2006.07.16
Форма из картинки


6-1141748735
AllBrain
2006-03-07 19:25
2006.07.16
Пиринговые сети -> P2P Help !!!