Описание тега safearray
2
ответа
Структура типа варианта (oaidl.h) в C++ для Mac OSX?
Я пытаюсь портировать мою C++ dll, разработанную в окнах, которые широко используют структуру типа Variant (ole/com) (см. https://msdn.microsoft.com/en-us/library/windows/desktop/ms221627%28v=vs.85%29.aspx). Этот тип определен в файле oaidl.h Visual…
21 фев '15 в 10:58
1
ответ
SafeArray of SafeArrays? Помогите перенести код VBA на C++
FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2)) такой код сверху у меня есть у VBA макросов. Теперь то же самое, что я должен создать в коде C++. Насколько я мог понять до сих пор - я должен использовать тип SAFEARR…
27 апр '16 в 08:15
1
ответ
Как инициализировать CComSafeArray, который SAFEARRAY возвратил из метода Scripting.Dictionary Keys
Я использую Scripting.Dictionary из библиотеки COM "Microsoft Scripting Runtime" (c:\windows\System32\scrrun.dll). Я использую импорт, чтобы получить мои обертки, и они работают. После добавления некоторых элементов я пытаюсь получить список ключей,…
02 апр '18 в 22:01
1
ответ
Почему я не могу добавить 0 к CComSafeArray?
CComSafeArray<BYTE> arr; arr.Add(0x00); Ошибка -> C2668: 'ATL:: CComSafeArray:: Add': неоднозначный вызов перегруженной функции Я могу добавить любое значение, но не могу добавить 0 зачем? кстати в настоящее время я делаю const byte zero = 0x0…
07 апр '14 в 05:35
2
ответа
Передача строковых массивов из COM в C#
Мне нужно получить доступ к методам C# в COM DLL через COM-подобный интерфейс. Один из методов требует, чтобы массив строк передавался в качестве входных данных. Я создаю SAFEARRAY и передаю его в COM Interop. Однако, похоже, это не работает, так ка…
10 ноя '11 в 19:41
1
ответ
Нужно ли вызывать SafeArrayUnLock в этом коде?
Я новый член команды и читаю код ниже. Интересно, нужно ли вызывать SafeArrayUnLock в докторе? Я пытался искать в Интернете без четкой подсказки. Так что очень ценю вашу помощь! Код: class Trasaction { private: CComSafeArray m_saCache; public: //cto…
02 ноя '12 в 09:51
1
ответ
Правильная очистка CComSafeArray<VARIANT>
Дано: { CComSafeArray<VARIANT> sa; CComVariant ccv(L"test"); sa.Add(ccv, TRUE); } Я надеялся, что dtor из CComSafeArray будет вызывать::VariantClear для каждого содержащегося в нем члена, и документация, кажется, указывает, что: В некоторых сл…
09 дек '14 в 15:07
1
ответ
Двумерный Safearray в Delphi?
Мне нужно Unittest COM-метод для этого мне нужно создать двумерный Safearray типа строки. Как это сделать?
25 июн '13 в 13:13
1
ответ
Передача SAFEARRAY байтов для загрузки функции MSXML
Если какая-то добрая душа там, пожалуйста, просмотрите следующий источник и скажите мне, почему функция "загрузки" MSXML не может загрузить этот XML. Здесь я пытаюсь загрузить XML-код в кодировке UTF-8, используя функцию "загрузки" синтаксического а…
14 окт '17 в 05:02
0
ответов
Как получить доступ к элементам вариантной переменной
Мне нужно узнать, как получить доступ к элементам safearray внутри переменной _variant_t. Я получаю переменную, и в отладчике VS2017 я могу видеть фактические данные, но не имею ни малейшего представления о том, как получить к ним доступ и в конечно…
20 окт '17 в 11:57
0
ответов
Чтение SAFEARRAY UDT, содержащее SAFEARRAY
Я пытаюсь создать и прочитать SAFEARRAY(MyUDT)*, где MyUDT содержит SAFEARRAY, но когда я пытаюсь прочитать его, я получил исключение "Нарушение прав доступа". Я определил следующую структуру и перечисление: typedef [uuid(...)] enum CollisionDetecto…
04 фев '19 в 09:29
2
ответа
Указатели на массивы, хранящиеся как элементы коллекции / словаря VBA
С массивами вариантов, где каждый элемент является двойным массивом, я могу сделать следующее: Public Declare PtrSafe Sub CopyMemoryArray Lib "kernel32" Alias "RtlMoveMemory" (ByRef Destination() As Any, ByRef Source As Any, ByVal Length As Long) Su…
21 апр '17 в 21:19
3
ответа
Как отобразить значения из VARIANT с SAFEARRAY BSTR
Я работаю над библиотекой COM-объектов с функцией, которая возвращает VARIANT с SAFEARRAY из BSTRs. Как я могу отобразить значения из этого VARIANT экземпляр и сохранить его внутри TStringList? Я пытался искать в сети без четкого ответа. Я попробова…
19 дек '11 в 07:33
3
ответа
Как вернуть локальный CComSafeArray в выходной параметр LPSAFEARRAY?
У меня есть функция COM, которая должна возвращать SafeArray через LPSAFEARRAY* выходной параметр. Функция создает SafeArray с использованием ATL CComSafeArray шаблон класса. Моя наивная реализация использует CComSafeArray<T>::Detach() чтобы п…
22 ноя '09 в 11:43
2
ответа
Преобразование / приведение SAFEARRAY к IUnknowns в итеративный массив указателей интерфейса
У меня есть следующий интерфейс в C# с классом с тем же именем (без I), реализующим его. [ComVisible(true)] [Guid("B2B134CC-70A6-43CD-9E1E-B3A3D9992C3E")] public interface IOrder { long GetQuantity(); long GetOrderType(); long GetPositionType(); } Р…
13 сен '12 в 18:28
1
ответ
Как передать список объектов COleDateTime как SAFEARRAY*
Это мое определение метода: IMSAToolsLibraryInterface : IUnknown { // // Raw methods provided by interface // virtual HRESULT __stdcall SetPathXML ( /*[in]*/ BSTR strPathXML, /*[out]*/ __int64 * iResult ) = 0; virtual HRESULT __stdcall SavePublisher…
03 янв '17 в 19:04
1
ответ
Необходимо вызвать управляемый код из неуправляемого кода C++
Я написал класс COM в C#, и одна функция, как это: public void SignAttached( byte[] message, ref byte[] signedMessage, string userName = "USER" ) } когда я пытаюсь вызвать эту функцию из кода C++, у меня есть исключение: - "SafeArray ранга 12536 пер…
11 дек '13 в 09:03
1
ответ
Как получить данные из многомерного PSafeArray?
Мне нужно прочитать данные из PSafeArray в Дельфи.Тот PSafeArray возвращается методом, реализованным в DLL, разработанной на C#. Этот метод возвращает двумерный массив строк string[,], Как читать такие PSafeArray результат в Delphi?
27 окт '12 в 05:01
4
ответа
Проблема с использованием неуправляемого C++ из C# с помощью dllimport
У меня возникли проблемы с импортом неуправляемой DLL C++ в C# [winform]. Может кто-нибудь помочь? По сути, я просто пытаюсь создать надежный массив строк в C++ и пытаюсь отправить его в C#. Вот мой код на C++. extern "C" __declspec(dllexport) BOOL …
07 сен '10 в 13:42
0
ответов
Как я могу освободить память C++ Safearray в C#
Мне нужно передать данные из C++ DLL в среду C#. Поэтому я использую 2d SafeArray двойников. Эта функция передает данные из C++ в C#: void GetIndividualExposures(SAFEARRAY*& data) { SAFEARRAYBOUND bounds[2]; bounds[0].lLbound = 0; bounds[0].cEle…
18 авг '17 в 12:33