Форум: "Основная";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
ВнизOLEVariant Найти похожие ветки
← →
MixAnOL © (2006-09-17 20:15) [0]Здарово всем!
Есть OLE сервер с событиями, есть событие с параметром widestring. Для тестирования создал клиента, импортировал библиотеку типов для моего сервера. В полученной юните у этого события параметр уже имеет тип OleVariant - почему так происходит?
И как в клиенте получить строку из этого OleVariant??
Что ни пробоваль - получается пустая строка....
Сервер тестировал пошагово, проверял какое значение уходит как параметр...
← →
MixAnOL © (2006-09-17 20:23) [1]в дополнение, с помощью VarType определил, что тип у параметра varByRef+varOleStr...
как достать эту строку? что-то в голову ни чего путного не лезет...
← →
Percent (2006-09-17 22:36) [2]widestring
Тут не всякий "программист", пишущий на Delphi, знает про этот тип. А ты хочешь, чтобы все клиенты твоего OLE сервера об этом типе знали...
← →
oxffff © (2006-09-17 22:40) [3]varOleStr Reference to a dynamically allocated UNICODE string.
← →
oxffff © (2006-09-17 22:49) [4]Вот тебе пример работы с varOleStr or varbyref
var a:OleVariant;
b:pWideString;
c:TVarData;
d:WideString;
begin
d:="423dasdas4";
b:=@d;
TVarData(a).VType:=varOleStr or varbyref;
TVarData(a).VAny:=b;
showmessage(a); на экране 423dasdas4
← →
MixAnOL © (2006-09-18 11:02) [5]TVarData интересная вестчь... но мне не помогла...
может из-за того, что строка передается по ссылке, а событие у меня генерится в процедуре и ссылка на локальную переменную? На событиях OLE требует обязательно указатель, а не значение в параметрах...
Вот и не пойму, как мне делать ссылку правильной..или еще что-то...
← →
oxffff © (2006-09-18 11:31) [6]Я написал пример, как устроен varOleStr or varbyref.
Это двойной указатель на строку.
Напиши с кодом, что тебе непонятно.
← →
MixAnOL © (2006-09-18 13:55) [7]да похоже у меня собака в другом месте порылась... косяк был в реализации интерфейса.
На счет TVarData: а как мне передать record в OLEVariant?
← →
oxffff © (2006-09-18 15:33) [8]Как я могу тебе ответить, если я не знаю, что в чем разрабатывается.
Могу тебе сказать, что сделать можно.
← →
Сергей М. © (2006-09-18 16:17) [9]
> как мне передать record в OLEVariant
как varArray
← →
oxffff © (2006-09-18 19:10) [10]Если так, тогда можно и так varbyte+varbyref
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.054 c