Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Проблема: lcomp и Borland C++ Builder

Вы не вошли.

 Поиск | Регистрация | Вход 

Евгений
04.01.2005 17:16:35
#1

Гость

Проблема: lcomp и Borland C++ Builder

Не удаётся получить указатель на интерфейс с помощью функции QueryInterface.

При компоновке кода

ULONG slot=0;


CallCreateInstance("lcomp.dll");
LUnknown *pIUnknown=CreateInstance(slot);
if (pIUnknown==NULL){Label1->Caption="CallCreateInstance failed"; }

IDaqLDevice* pI;
HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);
if(!SUCCEEDED(hr)){Label1->Caption="Get IDaqLDevice failed";}

pIUnknown->Release();
//pI->OpenLDevice();
//pI->LoadBios("l780");

//pI->CloseLDevice();
pI->Release();

Borland C++ Builder 6.0 в WinXP SP1 выдаёт сообщение:

[Linker Error] Unresolved external '_IID_ILDEV' referenced from D:/L780/EXPERIMENTAL/INITIALIZE/UNIT1.OBJ

fareed
05.01.2005 17:13:00
#2

Гость

Re: Проблема: lcomp и Borland C++ Builder

Господа разработчики..неужели вам не жаль своего времени отвечать по сто раз на одно и то же. Или настолько не нравиться хелпы писать?
Ведь все пользователи на одном и том же спотыкаются.

11.01.2005 10:14:04
#3

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Проблема: lcomp и Borland C++ Builder

Не все в проект включили. lguids.cpp нету ...

Евгений
11.01.2005 15:41:44
#4

Гость

Re: Проблема: lcomp и Borland C++ Builder

После включения в проект файла LGUIDS.CPP тот же проект не компилируется.
Ошибки:
[C++ Error] create.cpp(30): E2303 Type name expected
[C++ Error] create.cpp(30): E2238 Multiple declaration for 'CreateInstance'
[C++ Error] create.cpp(10): E2344 Earlier declaration of 'CreateInstance'
[C++ Error] create.cpp(30): E2034 Cannot convert 'int' to 'IDaqLDevice * (*)(unsigned long)'

Подскажите, пожалуйста, как их можно устранить.

11.01.2005 16:03:04
#5

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Проблема: lcomp и Borland C++ Builder

А я не знаю... Что в проект навключали и какие пути прописали... Я на билдере не работаю. Есть примеры там в комплекте к боланд с++... их откройте посмотрите..

Евгений
12.01.2005 17:04:00
#6

Гость

Re: Проблема: lcomp и Borland C++ Builder

Сообщите, пожалуйста, какие файлы необходимо включить в проект для работы с платами L-CARD через библиотеку lcomp.dll.

13.01.2005 10:06:16
#7

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Проблема: lcomp и Borland C++ Builder

create.cpp lguids.cpp в оригинальных примерах. ну и сама программа.

SashaT
09.03.2005 11:30:20
#8

Гость

Re: Проблема: lcomp и Borland C++ Builder

Господам разработчикам действительно наверно тяжело написать нормальный хелп под виндовс. (берите пример на то же самое только под дос, нормально не поленился человек написать) Вместо того что бы включить туда перечень модулей которые должны входить в проект, проще тут по 100 раз говорить про одно и то же... все проходят по одной и той же схеме ))), с другой стороны, у людей расширяется кругозор, начинают изучать что из себя представляет СОМ -  (это рыба такая)

Не будте добры, не затруднит ли Вас прокоментировать такое предупреждение после компилляции примера подключения к библиотеке приведенного в хелпе для L783:
winioctl.h(39) cannot create pre-comiled header: initialized data in header

что там такое написано в winioctl.h и для чего?

09.03.2005 12:21:02
#9

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Проблема: lcomp и Borland C++ Builder

Хмм... а просто готовый проект примера из поставки не судьба собрать?
А warning это не ошибка...

SashaT
16.03.2005 10:15:14
#10

Гость

Re: Проблема: lcomp и Borland C++ Builder

Вопрос к библиотеке. Дело в том что проверять в цикле насколько заполнен кольцевой буфер мне кажется принципиально не правельно. Если у тебя 4й пень, то это уже наверно не суть важно, а если нет его, да плюс куча обработки и отображения , да информация не однородна с точки зрения обработки, может быть непонятка. В хелпе сказано мол если такая схема не устраивает, копайся в библиотеке. Чесно говоря для этого есть Вы (Lcard))))) Придумали же люди зачемто IPC механизмы различные... Может у Вас есть эксклюзивный примерчик на эту тему? Прокоментируйте, будте добры.

16.03.2005 11:03:39
#11

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Проблема: lcomp и Borland C++ Builder

Вопрос то  в чем? Вот реализован такой механизм IPC. Такой потому что наиболее быстрый. Все другие медленнее и сильно зависят от загрузки процессора.
Есть люди которые потокам ставят TimeCritical  и при этом все IPC страшно тормозят....

SashaT
16.03.2005 14:03:34
#12

Гость

Re: Проблема: lcomp и Borland C++ Builder

вопрос в том что поток считывания данных должен блокироваться желательно не в цикле, а по средствам других механизмамов..., мютекса например..., который был бы удобен если разблокируется после прерывания, или прихода определенного кол-ва данных. Так как у Вас работает конечно пока, просто не нравиться мне этот цикл )))

16.03.2005 14:47:43
#13

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Проблема: lcomp и Borland C++ Builder

Дык вот эта разблокировка и будет тормозить.....
Прерывание в драйвере двухступенчатое - собственно обработчик и DefferProcedureCall из которой уже можно наверх сигнализировать. DPC вызов может сильно плавать при разной нагрузке на систему и плюс еще механизм передачи самого события наверх....а данные ждать не будут... Если в ожидание заполнения буфера добавить sleep(20) то это хорошо проиллюстрирует работу....

SashaT
16.03.2005 17:00:28
#14

Гость

Re: Проблема: lcomp и Borland C++ Builder

ну тода нема пытань..., пусть будет так, просто по моему опыту (в другой ОС) как раз ждущая блокировка в этом месте жрала ресурсы не так сильно чем опрос переменной..