Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++в общем нашел я что то похожее... это пример под 6 вижуал подключения библиотеки .. некая программа /USB/E14-XXX/E14-440/Examples/MSVC6/DynLoad покапался в исходниках... я так понял согласно файлу LoadDll.cpp библиотека подключается с помощью вызова ::LoadLibrary(DllName);
|
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++Есть три папки касающиеся 7 серии
но это уже не суть важно, я вроде как понял (см предыдцщий пост) как оно в шестом делается... важно то что суде по форуму народ в шарпе все делает и оно работает... но как...никто не признается.. А почему же все таки седьмой вижуал не признает вашу длл за длл??? |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++задал вопрос по поводу переноса интерфейса доступа к dll-ке на си шарповском форуме. Один авторитетный чел написал следующее : 1) Опишите прототип функции CreateInstance со static, extern и атрибутом DllImport
После этого вызывайте вашу функцию CreateInstance и работайте с вашим интерфейсом как ни в чём не бывало. |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++не выйдет...это не полный COM. Говорюже скачайте последние драйвера и там WLCOMP используйте ... |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++Такой функции как в примере нет там...есть другие которые в h файле прописаны... |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++у меня на тот же код выдает
Подитожим: что на данный момент имеем.. атрибут dll импорт при неправильном указании пути пишет ошибку что dll не загружена.. по примеру с возвратом GetDllVersion убедились что он исправно работает. Функции надо брать из h файла ifc_ldev.h (я так понял)
|
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++Начинать надо с примера С++ и смотреть как вызывается, в какой последовательности.... сказал же новые дрова и WLCOMP каталоги.... |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++новые дрова стоят
|
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++WLCOMP_TST это сишный пример, вот его и смотрите..wlcomp.h это заголовки функций, описало к ним аналогично указательным функциям lcomp... |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++Вот какой код получился...
unsafe static void Main(string[] args)
Err = OpenLDevice(hIfc);
|
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++есть сдвиги следующего плана - не уверен что это правильно но.... unsafe static void Main(string[] args)
Err = (ulong)OpenLDevice(&hIfc);
В общем все то же самое что и раньше - но я убрал два параметра из функции CallCreateInstance, в результате возвращается большое число, но теперь при вызове OpenLDevice опять наша любимая ошибка с тем же содержанием "Object Reference not set to an instance to object " Попытка вызвать CallCreateInstance с двумя параметрами тоже привела к ошибке.. осталось разобратся почему же OpenLDevice неработает и вообщемто хорошо понять почему CallCreateInstance с одним параметром работает? (Это наверно к Poul) и еще а верную ли ссылку возвращает CallCreateInstance ???? |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++Я тут поковырялся немного в С#... такая фигня работает : using System;
namespace testapp
class Program
unsafe static void Main(string[] args)
byte[] bt = new byte[9];
|
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++УРААААААААААААААААААААААААААААААААААААААААА!!!!! завелось.....! ВЫ просто неосознаете всю глубину моей благодарности.. :-)))) |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++ну .. получается так что продолжаем учится.... вышепредставленный код работает!! но не работает все что связано со структурой...
using System.Collections.Generic; у Collections. ечть только один подкласс Specialized Кстати а что в этом Generic и зачем он вообще? в хелпе про него тоже не написано... ну и со структурой все плохо... на тот код который у вас написан на слово fixed - требует что здесь был тип....
интересно почему у нас результаты разные??? |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++А шарп какой? Я пользовал халявный С# Express от Микрософта это 2.0 редакция и слово fixed там появилось... |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++оо, понеслась душа в рай !!! |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++у кого как дела ? я уперся в функцию
Настраиваю плату при помощи структур, инициализирую, стартую без ошибок. Вызываю GetSyncData(ref plata.hIfc,(uint)plata.syncVarPointer.ToInt32(),ref sync1) - в Sync возвращается ноль. plata.syncVarPointer.ToInt32() = 64815104 Еще вот такой лог у меня : Loading lcomp.dll
|
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++ЖЕня а скиньте пожалуйста свои исходник...
|
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++Microsoft Visual Studio 2005 Professional Edition version 8.0.50727.42
исходники выслал зы : на Вы ко мне обращаться не стоит, страшно становится |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++чего в структуре параметров сбора задали? случайно синхронизацию не включили? |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++блин ну невезуха у меня вижуал 2003 твои проект не открываетсяч... ну да это ничего.. буду так разбиратся спасибо большое.. все дошло хорошо.... P.S. будем на ты... я тоже не преклонного возраста.. %-))) |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++кстати, смогу ли я реализовать такую систему функциями библиотеки, или прийдется как-то по особому извращаться ? Кажется мне не очень подходит кольцевой буфер : С первого цифрового выхода подается сигнал на
Перехожу ко второму цифровому выходу, второму устройству и второму аналоговому входу, с которыми выполняю ту же процедуру. И так с 10-ю группами(цифровой выход, второе устройство, аналоговый вход). Затем всё сначала |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++в параметрах сбора сделал как в примере helper.s_Type = (ushort)IOCTL.L_ADC_PARAM; // тип структуры (должен быть L_ADC_PARAM);
|
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++я вообще боюсь что дело еще и в pragma pack(1) те в байтовой упаковке структуры... |
|||
|
||||
|
Re: L780 - Как подключить библиотеки АЦП в Visual C++[DllImport("wlcomp.dll")] public extern static void GetDataFromBuffer(ref uint hIfc, ref uint DataPtr, ref ushort[] DataArray, uint size); тоже пытался вызвать. в таком виде : ushort[] data = new ushort[1000];
прога просто вылетает при вызове функции если вместо 1000 в параметре функции указать например число больше 12, вылетает The runtime has encountered a fatal error. The address of the error was at 0x79e7c5eb, on thread 0xedc. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack. если от 3 до 12, вылетает System.ArgumentException: Method's type signature is not Interop compatible. а если 2 или 1, в data приходит массив размером 1 элемент, который чаще всего равен нулю. иногда числа типа 25879, 1024, 80. |