|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.09.2012, 01:31 | #1 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 360
|
Ошибка при обращение к переменной COM объекта
При обращение к переменной COM объекта выдает такую ошибку "[C++ Error] Unit1.cpp(30): E2247 'TMod::Mod' is not accessible". Код
Код:
Как именно можно было бы исправить данную проблему? Возможно будет важно, я установил COM как компоненты, т.е. создаю объект непосредственно создавая элемент на форме Последний раз редактировалось koljsch; 17.09.2012 в 01:36. Причина: Случайные грамматические ошибки в заголовке)) |
17.09.2012, 03:14 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Если он за пределами паблика и без сеттеров, то только через конструктор (если есть инициализация) или другие функции...
|
17.09.2012, 06:56 | #3 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 360
|
Ясно.
А через обычное создание объекта, т.е. не визульно видь тоже должно подойти, да? |
17.09.2012, 07:11 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
А чем визуально созданный объект отличается от обычного?
|
17.09.2012, 11:51 | #5 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 360
|
Нет. Но а как тогда если нет возможности изменения кода COM?
Я где-то читал, что можно было бы создать объект динамически и обращаться к данным переменным через ::, верно ли это? |
17.09.2012, 12:40 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Если она статическая и паблик... ну и динамически создавать не обязательно.
|
17.09.2012, 14:54 | #7 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 360
|
А как к данным переменным через :: обратиться?
Еще нюанс, есть пример работы на VisualBasic. Так вот там создает COM объект командой CreateObject и работает без всяких проблем при обращение напрямую к переменной. |
17.09.2012, 17:03 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
VisualBasic работает с IDispatch. В С/С++ тоже можно, но надо самому сделать ручками и смысла не имеет ибо медленней. В любом случае, на уровне COM понятия "переменная" нет - только методы, а то, что какието методы возвращают данные а другие их устанавливают, это, так сказать, частности.
|
17.09.2012, 22:42 | #9 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 360
|
Мне хоть какой-то вариант попробовать))
У вас не имеется на IDispatch под C++ примера? |
18.09.2012, 02:02 | #10 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 360
|
Проблема исправлена, всем спасибо за помощь!
Оказывается для получения текущего значения использовалось обычное имя переменной, а для приравнивания к чему-либо уже функция, что-то я сам ступил)) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |