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


Е-154 и Lazarus

Вы не вошли.

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

08.11.2014 15:19:08
#1

Участник
Здесь с 08.11.2014
Сообщений: 4

Е-154 и Lazarus

Hi!
Пытаюсь его перевести под Lazarus проект на Delphi 6.0 - пример использования АЦП Е-154. (консольная программа осуществляет потоковый сбор данных с первых 4 каналов АЦП)
Проект компилится, запускается, пишет в консоль
DLL Version --> OK
Module Interface --> OK
,но потом вываливается с ошибкой Sigsegv при попытке обращения к функциям интерфейса модуля
// интерфейс модуля E-154
pModule : ILE154;
например
// попробуем обнаружить модуль E-154 в первых MAX_VIRTUAL_SLOTS_QUANTITY_LUSBAPI виртуальных слотах
for i := 0 to (MAX_VIRTUAL_SLOTS_QUANTITY_LUSBAPI-1) do if pModule.OpenLDevice(i) then break;

Эта ошибка вываливается при попытке вызвать любую функцию интерфейса pModule.XXX

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

10.11.2014 12:11:33
#2

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

Re: Е-154 и Lazarus

Я бы посоветовал копать в направлении размеров типов данных и выравнивания внутри структур. Одни и те же типы в разных версиях Дельфи порой оказываются разных размеров, чтобы программистам было не скучно.
Похоже, что где-то какой-то record получается не той же бинарной структуры, что соответствующий struct в C/C++.

16.06.2015 21:44:52
#3

Участник
Здесь с 16.06.2015
Сообщений: 1

Re: Е-154 и Lazarus

@diakin, можете написать, получилось ли у вас решить описанную проблему? Тем же занимаюсь..