Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2012, 01:31   #1
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию Ошибка при обращение к переменной COM объекта

При обращение к переменной COM объекта выдает такую ошибку "[C++ Error] Unit1.cpp(30): E2247 'TMod::Mod' is not accessible". Код
Код:
Module->Mod=1;
Как я понимаю, то в COM данная переменная лежит за пределами public.
Как именно можно было бы исправить данную проблему? Возможно будет важно, я установил COM как компоненты, т.е. создаю объект непосредственно создавая элемент на форме

Последний раз редактировалось koljsch; 17.09.2012 в 01:36. Причина: Случайные грамматические ошибки в заголовке))
koljsch вне форума Ответить с цитированием
Старый 17.09.2012, 03:14   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Если он за пределами паблика и без сеттеров, то только через конструктор (если есть инициализация) или другие функции...
p51x вне форума Ответить с цитированием
Старый 17.09.2012, 06:56   #3
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

Ясно.
А через обычное создание объекта, т.е. не визульно видь тоже должно подойти, да?
koljsch вне форума Ответить с цитированием
Старый 17.09.2012, 07:11   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А чем визуально созданный объект отличается от обычного?
p51x вне форума Ответить с цитированием
Старый 17.09.2012, 11:51   #5
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

Нет. Но а как тогда если нет возможности изменения кода COM?
Я где-то читал, что можно было бы создать объект динамически и обращаться к данным переменным через ::, верно ли это?
koljsch вне форума Ответить с цитированием
Старый 17.09.2012, 12:40   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Если она статическая и паблик... ну и динамически создавать не обязательно.
p51x вне форума Ответить с цитированием
Старый 17.09.2012, 14:54   #7
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

А как к данным переменным через :: обратиться?
Еще нюанс, есть пример работы на VisualBasic. Так вот там создает COM объект командой CreateObject и работает без всяких проблем при обращение напрямую к переменной.
koljsch вне форума Ответить с цитированием
Старый 17.09.2012, 17:03   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

VisualBasic работает с IDispatch. В С/С++ тоже можно, но надо самому сделать ручками и смысла не имеет ибо медленней. В любом случае, на уровне COM понятия "переменная" нет - только методы, а то, что какието методы возвращают данные а другие их устанавливают, это, так сказать, частности.
waleri вне форума Ответить с цитированием
Старый 17.09.2012, 22:42   #9
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

Мне хоть какой-то вариант попробовать))
У вас не имеется на IDispatch под C++ примера?
koljsch вне форума Ответить с цитированием
Старый 18.09.2012, 02:02   #10
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 360
По умолчанию

Проблема исправлена, всем спасибо за помощь!
Оказывается для получения текущего значения использовалось обычное имя переменной, а для приравнивания к чему-либо уже функция, что-то я сам ступил))
koljsch вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CLR. Ошибка C3918. Как вызвать из объекта обработчик, переданный родителю объекта от деда? Stilet Общие вопросы .NET 0 15.01.2011 17:49
Использование переменной в методе COM объекта FATik67 БД в Delphi 4 09.11.2010 21:26
Обращение к переменной активной книге из xla файла tae1980 Microsoft Office Excel 7 27.05.2010 11:18
Обращение к переменной через другую переменную tae1980 Microsoft Office Excel 2 22.03.2010 00:52
Обращение к объектам не зная объекта) Djem1991 Общие вопросы Delphi 5 02.01.2010 21:44