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


L783: Win98+vxd & WinXP+lcomp

Вы не вошли.

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

Алексей
31.08.2006 10:28:22
#1

Гость

L783: Win98+vxd & WinXP+lcomp

Здравствуйте!
Столкнулся со след. проблемой!
ПК: Р4 2.8МГц 512МБ.
Плата: L783B 2186 20МГц (куплена 2-3 года назад).
Работаю на Delphi7.
До этого работал с vxd на Win98.
Все работало нормально.
Возникла необходимость перейти на WinXP.
Скачал новые драйвера vxd (на странице загрузки файлов заявлена поддержка ХР).
При установке сразу вижу, что никакого ХР нет - как было так и осталось - 98,2000.
Соответсвенно после установки и нескольких перезагрузок плата не завелась.
Ладно, скачал lcomp.
Все установилось и заработало.
Но появились две проблемы:
1. не выделяется необходимый размер буфера.
Работает плата на 2,87 МГц. Время работы необходимо 20 сек. Однократное заполнение буфера. Выставляю FIFO 3072 и такой же IrqStep. Но вот в RequestBufferStream больше 10000*FIFO задать не поллучается, а надо около 20000*FIFO.
В чем может быть проблема? В Win98  задавал больше 40000 и все было ОК.
2. Не совсем понятна работа новой библиотеки.
Похоже как СОМ. Но не совсем. Подробностей нигде не нашел. В прилагаемом примере некоторый вещи вызывают вопросы. Нужно ли делать AddRef? Потому как ReleaseRef вызывается. И вообще при вызове ReleaseRef возвращает 1. Можно вызвать его и второй раз и только тогда он вернет 0.
Какова правильная последовательность?
3. После сбора данных (после прихода события) имею две переменные, явл. полями объекта:
Data - тип дин. массива, Sync - Integer.
Так вот после работать с Data не совсем понятна.
Следующий код вызывает ошибки Invalid Pointer...
procedure X;
var a : array of Smallint;
begin
  a := Data;
end;
По идее при присвоении для массива увеличивается счетчик использования. При выходе из процедуры для лок. пер. вызывается Finalize и счетчик на массив уменьшается. Никакого криминала вроде.
Так вот почему-то выскакивает ошибка.
Наблюдается именно в lcomp (WinXP). При работе в Win98 с vxd все работает нормально.
В чем проблема?

31.08.2006 13:25:21
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: L783: Win98+vxd & WinXP+lcomp

ограничения на буфер как не было так и нет...может озу добавить?

AddRef там внутри библиотеки вызывается .. можно и исходники там посмотреть...они там есть.

Data и Sync это по идее указатели...во что их запихать и как работать это кому как удобней...

Алексей
31.08.2006 14:30:12
#3

Гость

Re: L783: Win98+vxd & WinXP+lcomp

To Poul
ОК! Будем эскпериментировать дальше