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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Стандартные библиотеки на С++ подключать к MC++, Есть ли какиенибудь особености в MC++ 
:(
    Опции темы
Pavvvelll
Дата 28.2.2008, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть проблемка, необходимо подключить драйвер к проекту. Драйвер подключается из dll и в visual c его подключение выглядит так:

Это из мануала платы:

Код

#include <windows.h>
#include <objbase.h>
#include "..\include\ioctl.h"
#include "..\include\ifc_ldev.h"
#include "..\include\create.h"

CREATEFUNCPTR CreateInstance;

ULONG CallCreateInstance(char* name)
{
   HINSTANCE hComponent = ::LoadLibrary(name);
   if(hComponent==NULL)
   {
      return 0;
   }

   CreateInstance = (CREATEFUNCPTR)::GetProcAddress(hComponent,"CreateInstance");
   if(CreateInstance==NULL)
   {
      return 0;
   }
   return 1;
}
//Где-то в Вашем проекте (в компьютере одна плата L-783): 

   ULONG slot = 0;

   trace("Get IUnknown pointer");
   CallCreateInstance("lcomp.dll");
   LUnknown* pIUnknown = CreateInstance(slot);
   if(pIUnknown == NULL) { trace("CallCreateInstance failed"); return 1; }
   
   trace("Get IDaqLDevice interface");
   IDaqLDevice* pI;
   HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);
   if(!SUCCEEDED(hr)) { trace("Get IDaqLDevice failed"); return 1; }
   trace("IDaqLDevice get success");
   trace("Free IUnknown");
   pIUnknown->Release();

   pI->OpenLDevice(); // начало работы с платой
   pI->LoadBios("l783");
   ...

   pI->CloseLDevice(); // завершение работы
   pI->Release();


Они это называют квази COM интерфейс.=)
Если я компилирую это в проекте WinAPI проблем нет, но когда я пытаюсь сделать проект WindowsForms на С++возникают сложности
вроде 
HINSTANCE hComponent = ::LoadLibrary(name);
работает в hComponent что то есть, но уже 
CreateInstance = (CREATEFUNCPTR)::GetProcAddress(hComponent,"CreateInstance");
возвращает в CreateInstance NULL;
CreateInstance - это указатель на функцию, определенный в h файле.

pIUnknown структура содержащая указатели на функции.

Подскажите пожалуйста, есть ли возможность оперировать подобными библиотеками в MC++, в С# как я понимаю это практически не реализуемо? И в чем может быть проблемма?


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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