Текущий архив: 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.45 MB
Время: 0.009 c