C++ Builder

Страницы: 1
RSS
C++ Builder, Обсуждение: C++ Builder
 
Подскажите где можно скачать библиотеки под C++ Builder 2007 для терминалов Cipher  ???
 
Cipher PDT. DLL-разработчика для подключения ТСД CipherLab к своим продуктам (вер. 5.5.2.0).
http://www.scancode.ru/files/item/8/156/
Для Билдера длл нужно сконвертировать в их формат. Ковертилка есть в составе Билдера. Называется coff2omf.exe.
 
Всё дело в том, что если бы пакет 5.5.2.0 конвертился в Builder-формат, то я бы и не задавал вопрос
Не работает ни через coff2omf , ни через impdef
Теперь компилируется, но при попытке использовать в проекте хотябы одну функцию, даже просто её добавить в проект... Builder при компиляции выкидывает окошко CPU, а если продолжить процесс, то выдаёт ошибку доступа к памяти

Быть может я неправильно вызываю функции ???
Надо ли что-либо ещё дописывать перед функцией, которая определена через __cdecl (см. Договор о вызове)

Пожалуйста...если вас не затруднит выложите здесь или пришлите мне на e-mail реально работающие под Builder библиотеки...очень нужно !!!
 
Конвертить нужно *.lib
Проект для Билдера дать не могу - нету. Накладно для фирмы покупать и VC++ и С++ Builder.
Если конвертировать не получается, попробуйте использовать например так:
Код
HMODULE h=LoadLibrary("CipherLab.dll");
if (h==NULL){
    Label1->Caption="Не удалось загрузить библиотеку";
}
else{
    typedef bool (*OpenComm)(int nCommPort, int nCommSpeed, bool bIsIrDA);
    OpenComm opencomm=(OpenComm)GetProcAddress(h,"OpenComm") ;
    const bool port=opencomm(1,1,true);
    if (port==NULL){
// ошибко
}
}

Это стандартная функция (API) для подключения длл.
Тут можно почитать, как стандартно подключать dll: http://www.progz.ru/articles.php?issue=9
 
Всё оказалось гораздо проще
Просто забыл положить CipherLab.dll рядом с EXE'шником когда подключил CipherLab.lib ;D

Проверил...
Вроде все функции кроме одной работают...

В файле CipherLab.h есть неправильно описананная функция PingCreadle
Вот её описание: __declspec(dllimport) BOOL __cdecl PingCreadle(void);

В самом файле CipherLab.dll она называется PingCradle
Если исправить в CipherLab.h и вызывать соответственно также, то проект компилируется и работает прекрасно

Но вот не понятно, что за ошибку выдаёт функция GetCurrentState: "Ответ терминала NAK не соответствует ожидаемому"
Может старая прошивка ???
 
1. Проблема с PingCradle известна и исправлена. На сайте выложен исправленный архив.
2. GetCurrentState - старая функция и поддерживается для совместимости со старыми версиями прошивок и главное dll. Смысловой нагрузки не несет, пользуйтесь пингом. А вот почему отвечает NAK непонятно. Нужно поглядеть... Опишите поподробней, погляжу.
 
Т.е. GetError() выдаёт такую ошибку после того, как не срабатывает функция GetCurrentState()
Страницы: 1