powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не могу найти CoClass
15 сообщений из 15, страница 1 из 1
Не могу найти CoClass
    #32714950
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зделал имплиб для ADOx, читаю файл _TBL, вижу описание интерфейсов,
а вот описание CoClass немогу найти. Помогите пожалуйста
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715082
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не в файле ли *.tlh лежат описания классов?
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715135
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все описания я прикрепил в архиве, по идее я пользую билдер, значит описания должны быть в .H файле.....
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715189
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MySQLdbЗделал имплиб для ADOx, читаю файл _TBL, вижу описание интерфейсов,
а вот описание CoClass немогу найти. Помогите пожалуйста
-----------------------------------------------------------
С уважением,MySQLdb

Что конкретно ?!!

а нельзя было это заюзать ввиде компоненты ?!!
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715217
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хочу работать не с компонентами, а с обьктами CoClass ов, для этого по логике надо задать переменную в виде _хххх var; где _хххх это интерфейс,
а обькт интерфейса создавать нельзя через CreateOleObject, вот мне и нужен интерфейсный CoClass, чтобы потом преобразовать указатель IUnknow
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715238
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
#include <shlobj>
#include <shlguid>
#include <atlbase>
#include <ActiveX.hpp>
#include <ComObj.hpp>

Какой то из них :)




 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715240
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это если я тебя правильно понял :)


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715261
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно ли создавать обьект не через CoClass, а скажем черех CreateComObject(CLIID) ?
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715291
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати когда делаешь компонент ,
получается файлик гиде можно взглянуть как сие делается :)

можно так
Код: plaintext
1.
2.
 CComPtr<IUnknown> my_obj;
 my_obj.CoCreateInstance(CLSID_myobj);
и так
Код: plaintext
1.
2.
3.
     HRESULT hres;
     IMyObjInterface * my_obj;
     hres = CoCreateInstance(CLSID_myobj, NULL, CLSCTX_INPROC_SERVER,IID_ImyOBj, (LPVOID *) &my_obj);




 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32715917
Siebentearbeit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторпо идее я пользую билдер, значит описания должны быть в .H файле.....

все описания могут быть где угодно.
главное, потом правильно их оттуда взять.
если ты знаешь название класса, то пройдись поиском по папке с проектом и найди.
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32716615
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
CComPtr<IUnknown> my_obj;
 my_obj.CoCreateInstance(CLSID_myobj);

А что такое авторCComPtr? Это как понимать? В хелпе не нашел,
это что, указатель, или зарезервированное слово?

Вот как сделал я

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
_di_IUnknown MyCatalog;
Catalog* MyCatalogGQIF;

ConnSTR = ADOConnection1->ConnectionString;
  MyCatalog = CreateComObject(CLSID_Catalog);
  MyCatalog->QueryInterface(IID__Catalog,(LPVOID *) &MyCatalogGQIF);
  MyCatalogGQIF->set_ActiveConnection(ConnSTR);

   //Âûâîäèì òàáëèöû 
  MyTables = MyCatalogGQIF->get_Tables();
  MyTables->get_Count(&MyTablesCount);
  for(long i= 0 ;i<MyTablesCount;i++)
     {
       ConnSTR = i;
       MyTable = MyTables-> get_Item(ConnSTR);
       Memo1->Lines->Add(MyTable->Name);
     }
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32716668
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а про Release();
случаем не забыли ?!

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32716691
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот только сейчас с этим и столкнулся, когда закрываю свое приложение,
база продолжает числиться в открытых. Как можно удальть COM обьект?
Если я правельно понял, речь идет про Reliase, но в документации сказано,
что его надо вызывать столько раз, сколько набежало по методу AddRef, но
как узнать, сколько раз мен вызывать Reliase?
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32716727
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну думаю

MyCatalog->Release();



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Не могу найти CoClass
    #32716754
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал вот такой код,
но когда в Realise по идее остается 0, а возрашенное значение на
предыдушем шаге long iR = 1; она валиться, вот с такою ошибкой


Код: plaintext
1.
2.
3.
4.
5.
  bool iF = true;
  while(iF)
       {
          long iR = MyCatalog->Release();
          iF = (iR!= 0 );
       }
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не могу найти CoClass
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]