Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MS Visual C++, Использование ^%, tracking reference 
:(
    Опции темы
KostyaKKostyaK
Дата 22.1.2009, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 22.1.2009

Репутация: нет
Всего: нет



Имеется ActiveX - компонент стороннего производителя. 
Согласно описанию (возможно, устаревшему) он имеет 2 метода:
write(VARIANT* pData) и read(VARIANT* pData).

При подключении ссылки на этот компонент в среде Visual C++ 2008 для проекта типа "Windows Forms" эти методы переопределяются как
write(System::Object) и read(System::Object).
Но при вызове их в коде требуются уже параметры:
write(System::Object ^Data);
read(System::Object ^% pData).


Метод write выполняет без ошибок в следуюшем коде:
VARIANT byte_var;

// Инициализирует новый экземпляр структуры IntPtr 
// с использованием заданного указателя на тип VARIANT
System::IntPtr* pvar = new System::IntPtr(&byte_var);

// GetObjectForNativeVariant преобразует COM VARIANT в объект.
System::Object ^obj = System::Runtime::InteropServices::Marshal::GetObjectForNativeVariant(*pvar);

// Вызываю функцию, передавая ей требуемый параметр
DWORD error_code = ActiveX->Write(obj);


read пока не получается вызвать без ошибки исполнения. Какой вид будет иметь код для метода read? 
PM MAIL   Вверх
BorisVorontsov
Дата 22.1.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: нет
Всего: 10



Ну, вообще-то Windows Forms -- это .NET, а оный обсуждается тут: http://forum.vingrad.ru/forum/dotNET-forum.html


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.1389 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.