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


проблема при реализации простого примера

Вы не вошли.

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

Максим Владимирович
29.03.2012 16:55:53
#1

Гость

проблема при реализации простого примера

Здравствуйте!

Я купил крейт LTR-U-1-4 c встроенным модулем Ltr43. Я установил драйверы, программу LtrServer и библиотеку. Всё я взял от сюда http://www.lcard.ru/download/ltr_binary.zip. Программа LtrServer нормально работает и показывает, что она видит модуль Ltr43. Я пытался реализовать проcтой пример (на странице 10, пункт 3.3 в руководстве ltrapi.pdf) в среде CodeGear™ C++Builder® 2009, но не удачно. Cначало я запустил LtrServer. Она сработала нормально. После того, как создал проект, я копировал папку ltr (внутри этой папки есть 2 папки include и lib), которую я взял из диска компании когда я купил LTR-U-1-4, в папку где находится мой проект. Затем написал следующей код:
#include <vcl.h>
#pragma hdrstop

#include <tchar.h>
#include <stdio.h>
#include <iostream.h>
using namespace std;
#include <conio.h>
#include "ltr//include//ltrapi.h"
#include "ltr//include//ltrapidefine.h"
//---------------------------------------------------------------------------

#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
    INT res;
    TLTR ltr;
    // инициализируем поля структуры значениями по умолчанию
    res = LTR_Init(&ltr);
    if (res == LTR_OK)
        {
        // используем сетевой адрес и порт ltr-сервера по умолчанию
        // используем серийный номер крейта по умолчанию – первый найденный
        // задаем управляющий канал
        ltr.cc = CC_CONTROL;
        // устанавливаем соединение
        res = LTR_Open(&ltr);
        if (res == LTR_WARNING_MODULE_IN_USE)
            {
            printf(">> Внимание ! Модуль уже открыт и кто – то с ним работает /n");
            res = LTR_OK;
            }
        if (res == LTR_OK)
            {
            WORD mid[MODULE_MAX];
            // получаем список модулей крейта
        res = LTR_GetCrateModules(&ltr, mid);
            if (res == LTR_OK)
                {
                printf(">> список установленных модулей:/n");
                for (int i = 0; i < MODULE_MAX; i++)
                    {
                    printf(">> slot%0.2d  mid = %d/n", i + 1, mid[i] & 0xFF);
                    }
                }
            // разрываем соединение
            LTR_Close(&ltr);
            }
        }
    // выводим сообщение об ошибке
    if (res != LTR_OK)
        printf(">> %s/n", LTR_GetErrorString(res));
    getch();
    return 0;
}

Я компиляровал и получились ошибки
[ILINK32 Error] Error: Unresolved external /'LTR_Init/' referenced from C:/USERS/DUYHUNG/DOCUMENTS/RAD STUDIO/PROJECTS/SIMPLEEXAMPLE/DEBUG/FILE1.OBJ
[ILINK32 Error] Error: Unresolved external /'LTR_Open/' referenced from C:/USERS/DUYHUNG/DOCUMENTS/RAD STUDIO/PROJECTS/SIMPLEEXAMPLE/DEBUG/FILE1.OBJ
[ILINK32 Error] Error: Unresolved external /'LTR_GetCrateModules/' referenced from C:/USERS/DUYHUNG/DOCUMENTS/RAD STUDIO/PROJECTS/SIMPLEEXAMPLE/DEBUG/FILE1.OBJ
[ILINK32 Error] Error: Unresolved external /'LTR_Close/' referenced from C:/USERS/DUYHUNG/DOCUMENTS/RAD STUDIO/PROJECTS/SIMPLEEXAMPLE/DEBUG/FILE1.OBJ
[ILINK32 Error] Error: Unresolved external /'LTR_GetErrorString/' referenced from C:/USERS/DUYHUNG/DOCUMENTS/RAD STUDIO/PROJECTS/SIMPLEEXAMPLE/DEBUG/FILE1.OBJ

Я непонимаю в чем проблема?
Ещё момент: как использовать файлы, которые находятся в папке ltrlibrary, после того, как я  установил ltrdll_1_22.exe?

Буду благодарен за любой ответ!

29.03.2012 17:09:05
#2

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: проблема при реализации простого примера

.lib файлы (для соответствующего компилятора) надо не просто скопировать, а добавить в проект, чтобы линкер увидел фукции, импортируемые из DLL.

Дима
06.04.2012 07:36:16
#3

Гость

Re: проблема при реализации простого примера

Спасибо большое
Моя программа уже работает!

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4

Многоканальный телефон:+7 (495) 785-95-25

Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск