Форум программистов, компьютерный форум CyberForum.ru

DAO и CBuilder - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразовать строку, содержащую буквы и цифры. http://www.cyberforum.ru/cpp-beginners/thread485019.html
Здравствуй! Меня зовут Антон ! Я хотел бы раздуплиться в С++ ! например в этой проге ! Имеется строка , содержащая буквы и цифры. Преобразуйте эту стоку так , чтобы сначала в ней шли все цифры ,а потом буквы исходной строки ! Мой e-mail : roz_anton@ukr.net
C++ WinAPI Чтение файлов в WinAPI В общем проблема в том что я тут мучаюсь... Открываю файл HANDLE hFil_1 = CreateFile(OldNameOfFile,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL); потом ReadFile(hFil_1,bBuffer,sizeof(bBuffer),&dwNumBytesRead,&Overlapped); bBuffer определён как BYTE, как мне теперь с ним работать? Чтобы можно было просмотреть, изменить, чёто удалить, чёто дописать, чёто выделить к примеру,... http://www.cyberforum.ru/cpp-beginners/thread484900.html
Генерирование xml отчета C++
Необходимо создать xml-отчет данные для него в текстовом формате как лучше поступить?
C++ Movewindow работает неправильно..
делаю так //------------------------------------------------------------- CRect rNew; CRect rOld; ... ptr->GetWindowRect(&rOld); //старые координаты objNew->GetWindowRect(&rNew); //координаты другого объекта ptr->MoveWindow(rNew.left,rOld.top,rOld.Width(),rOld.Height());
C++ COM-технология http://www.cyberforum.ru/cpp-beginners/thread484755.html
Прочитал книгу Трельсена. Хочется применть полученные знания. А что можно такое написать, чтобы можно было бы потом использовать в качестве презентационной программы, демонстрирующей владение этой штуковиной? Буду очень признателен за любые предложения. Особенно интересно было бы увидеть ответ от людей, каждодневно сталкивающихся с COM и которые могут точно сказать, какие умения подразумевает...
C++ WinAPI Вопрос для тех, кто работал со структурой doc-файла через WinAPI Ниже приведён кусок проги : // . . . . . . if (stat.type==STGTY_STREAM) //если обнаружили поток, то надо его открыть { if(ls->OpenStream(stat.pwcsName, NULL, STGM_READ|STGM_SHARE_EXCLUSIVE, 0, &pIStream подробнее

Показать сообщение отдельно
Staser
Сообщений: n/a
26.05.2010, 13:41     DAO и CBuilder
Уважаемые программисты! Помогите разобраться, как же все-таки заставить
работать COM-билиотеку DAO на благо человечества?!!

Теория:
Для созданных на основе спецификации СОМ приложений не важно,
какой язык программирования использовался при их разработке —
если стандарт СОМ соблюден, взаимодействие осуществляется
без помех.

Задача (упрощенная, пониженной сложности):
Используется среда разработки CBuilder 6.
OS Windows 2k, библиотека от мелкомягкой фирмы Dao360.dll
Нужно добраться до метода CreateВDatabase и создать БД,
например Dao_Access.mdb (еще можно создать пару полей для наглядности)

Практика:
На VB: все рулез: подцепил библиотеку, получил доступ к содержимому
На Delphi: даже ничего подцеплять не надо, все само работает забибись ))
На CBuilder: жопа (( (а писать надо, естессно на нем)

Ход работы:
По ProgId 'DAO.DBEngine.36' получли соответствующий Clsid,
в итоге добрались до IUnkcnown.

//------------------------------------------------------

Memo1->Lines->Add('Начало работы');


// Инициализируем COM
if ( FAILED(CoInitialize(NULL)) ) Memo1->Lines->Add('Невозможно инициализировать COM');
else Memo1->Lines->Add('COM успешно инициализирован');


// Преобразуем ProgID в CLSID

HRESULT hr = CLSIDFromProgID(DAO_PROG_ID, &DAO_CLASS_ID);

if ( FAILED( hr ) ) Memo1->Lines->Add('Невозможно получить CLSID по ProgID');
else Memo1->Lines->Add('CLSID успешно получен по ProgID');


// Получаем экземпляр фабрики классов
IClassFactory* pCF;
hr = CoGetClassObject(DAO_CLASS_ID, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, NULL, IID_IClassFactory, (void**) &pCF );

if ( FAILED( hr ) ) Memo1->Lines->Add('Невозможно получить фабрику классов IClassFactory');
else Memo1->Lines->Add('Получена фабрика классов IClassFactory');


// С помощью фабрики классов создаем экземпляр компонента
// и получаем интерфейс IUnknown
IUnknown* pUnk;
hr = pCF->CreateInstance(NULL, IID_IUnknown, (void**) &pUnk );

pCF->Release();

if ( FAILED( hr ) ) Memo1->Lines->Add('Невозможно получить интерфес IUnknown');
else Memo1->Lines->Add('Получен интерфес IUnknown');


// Получаем объект _DBEngine


???????????????????????????????
???????????????????????????????
???????????????????????????????

... и создаем базу методом CreateTable!

pUnk->Release();

//------------------------------------------------------
И вот в этом месте полный затык, а ведь все наверняка достаточно просто.

в одном из примеров приводилась директива
#import, но в билдере импортирование dao360.dll приводит к ошибке!
Слышал, что еще можно как-то через IDispatch...

В общем, кто действительно знает, буду очень признателен!

P.S. Работающий код с комментариями - лучший help!!!

e-mail: armylove@yandex.ru
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru