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


Е-154 вместо E-440

Вы не вошли.

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

Dmitrii
15.06.2011 11:24:50
#26

Гость

Re: Е-154 вместо E-440

Подскажите как быть, поле size к которому идет обращение теперь отсут-ет. Хотя больше в программе оно вроде нигде не используется зачем оно вообще (прогу писал не я, да и изменения подобного рода в ней не делались аж с 2005 года)
  // обязательно проинициализируем поле size        структуры MODULE_DESCR_E440
  md.size = sizeof(MODULE_DESCRIPTION_E154);
  // структура параметров работы АЦП
  // обязательно проинициализируем поле size структуры ADC_PARS_E440
  am.size = sizeof(ADC_PARS_E440);


может мне проще будет старую lusbapi.h скачать? но на сайте слишком новые(lusbapi33 и lusbapi32)

Dmitrii
18.06.2011 10:31:37
#27

Гость

Re: Е-154 вместо E-440

Вот еще ошибка:
[ILINK32 Error] Error: Unresolved external //'CreateLInstance//' referenced from G://SYNCHRO//DEBUG_BUILD//SYNCHROMAIN.OBJ
в интернете нашел по этому поводу говорят, что библиотеку не прицепил для работы с железом. Lusbapi.h и Lusbapitypes.h прицеплены. Что еще требуется?

Dmitrii
19.06.2011 19:22:22
#28

Гость

Re: Е-154 вместо E-440

У меня Lusbapi.lib подключена в файле Synchro.cpp;
Все равно ругается.
#include <vcl.h>
#pragma hdrstop
USERES("Synchro.res");
USEFORM("SynchroMain.cpp", MainForm);
USELIB("ZOOMER.LIB");
USELIB("Lusbapi.lib");
USEUNIT("SynchroThread.cpp");
//-- -------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    try
    {
        Application->Initialize();
        Application->Title = "Пример для E-440";
        Application->CreateForm(__classid(TMainForm), &MainForm);
        Application->Run();
    }
    catch (Exception &exception)
    {
        Application->ShowException(&exception);
    }
    return 0;
}
//-- -------------------------------------------------------------------------
и еще сообщение:
[ILINK32 Warning] Warning: Public symbol //'_resfname//' defined in both module G://SYNCHRO//DEBUG_BUILD//SYNCHROMAIN.OBJ and G://SYNCHRO//DEBUG_BUILD//SYNCHROTHREAD.OBJ

Дмитрий 1985
20.06.2011 05:01:12
#29

Гость

Re: Е-154 вместо E-440

Изначально synchro.cpp выглядел так:
#include <vcl.h>
#pragma hdrstop
USEFORM("SynchroMain.cpp", MainForm);
//-- -------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    try
    {
        Application->Initialize();
        Application->Title = "Пример для E-440";
        Application->CreateForm(__classid(TMainForm), &MainForm);
        Application->Run();
    }
    catch (Exception &exception)
    {
        Application->ShowException(&exception);
    }
    return 0;
}
//------------------------------------------------
Я заменил его тем, в котором Lusbapi.lib подключен. После этого сделал build. Так не пойдет?

Дмитрий 1985
20.06.2011 05:24:41
#30

Гость

Re: Е-154 вместо E-440

После прочтения этой темы http://www.lcard.ru/forumthreads/8610
добавлю, что на GetDllVersion компилятор не ругается.

Дмитрий 1985
20.06.2011 06:22:28
#31

Гость

Re: Е-154 вместо E-440

Теперь все запустилось, но программа ведет себя неадекватно, зависает.
Лог:
Thread Start: Thread ID: 3864. Process Synchro.exe (2668)
Process Start: G://synchro//.//Synchro.exe. Base Address: $00400000. Process Synchro.exe (2668)
Module Load: Synchro.exe. Has Debug Info. Base Address: $00400000. Process Synchro.exe (2668)
Module Load: ntdll.dll. No Debug Info. Base Address: $7C900000. Process Synchro.exe (2668)
Module Load: KERNEL32.dll. No Debug Info. Base Address: $7C800000. Process Synchro.exe (2668)
Module Load: Lusbapi.dll. No Debug Info. Base Address: $00330000. Process Synchro.exe (2668)
Module Load: USER32.dll. No Debug Info. Base Address: $7E360000. Process Synchro.exe (2668)
Module Load: GDI32.dll. No Debug Info. Base Address: $77F10000. Process Synchro.exe (2668)
Module Load: ADVAPI32.dll. No Debug Info. Base Address: $77DC0000. Process Synchro.exe (2668)
Module Load: RPCRT4.dll. No Debug Info. Base Address: $77E70000. Process Synchro.exe (2668)
Module Load: Secur32.dll. No Debug Info. Base Address: $77FE0000. Process Synchro.exe (2668)
Module Load: VERSION.dll. No Debug Info. Base Address: $77BF0000. Process Synchro.exe (2668)
Module Load: COMCTL32.dll. No Debug Info. Base Address: $5D5B0000. Process Synchro.exe (2668)
Module Load: MSIMG32.dll. No Debug Info. Base Address: $76350000. Process Synchro.exe (2668)
Module Load: ole32.dll. No Debug Info. Base Address: $774D0000. Process Synchro.exe (2668)
Module Load: msvcrt.dll. No Debug Info. Base Address: $77C00000. Process Synchro.exe (2668)
Module Load: OLEAUT32.dll. No Debug Info. Base Address: $77110000. Process Synchro.exe (2668)
Module Load: IMM32.dll. No Debug Info. Base Address: $76360000. Process Synchro.exe (2668)
Module Load: MSCTF.dll. No Debug Info. Base Address: $746E0000. Process Synchro.exe (2668)
Module Load: UxTheme.dll. No Debug Info. Base Address: $5B260000. Process Synchro.exe (2668)
Module Load: pshook.dll. No Debug Info. Base Address: $08000000. Process Synchro.exe (2668)
Module Load: SHLWAPI.dll. No Debug Info. Base Address: $77F60000. Process Synchro.exe (2668)
Thread Start: Thread ID: 2256. Process Synchro.exe (2668)
Thread Exit: Thread ID: 2256. Process Synchro.exe (2668)

20.06.2011 11:12:31
#32

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,495

Re: Е-154 вместо E-440

1. Я правильно понял, что программа таки собралась.
2. И какие выводы из этого лога я могу сделать?

Дмитрий 1985
05.08.2011 11:26:54
#33

Гость

Re: Е-154 вместо E-440

Извините, я опять откатился назад к проблеме: вылазит ошибка [ILINK32 Error] Error: Unresolved external //'CreateLInstance//' referenced from C://SYNCHRO//DEBUG_BUILD//SYNCHROMAIN.OBJ

Видимо нужно подключить Lusbapi.lib. Чтобы подключить Lusbapi.lib нужно:
1.Поместить этот файл в папку с приложением.
2.прописать его в программе. У меня это выглядит так(в файле synchro.cpp(633 bytes, 21 строка кода)):
USELIB(/"Lusbapi.lib/"); Это неправильно?