Главная 
 Каталог 
 Поддержка 
 Компания 
 Партнеры 
 1C:Франчайзинг 
 Карта сайта 

Задать вопрос
Часто задаваемые вопросы
Справочные материалы
Публикации


Поиск по сайту



Авторизация

Запомнить меня на этом компьютере
  Забыли свой пароль?
  Регистрация


Подписка

Изменение параметров





Hits 88187206
3124
Hosts 3936737
402
Visitors 18986296
735

27


Поддержка / Форумы / Публичные форумы / Вопросы по контрольно-кассовой технике / FoxPro и Chon100k.dll

  FoxPro и Chon100k.dll

Версия для печати
RSS
FoxPro и Chon100k.dll, Использование DLL в FoxPro
 
1. При добавлении функцией cbAddSale("Товар",1,1,1), прочитать функцией cbGetSale(1,....) не получается, пишет что товар с таким номером не найден! (То же самое по заголовку и окончанию)
2. При добавлении трех и более позиций в чек и посылки данных функцией SendSales(), после вывода сообщения "Нажмите ФЦ-1-ВВ" и соответственно последовательного ввода данной последовательности, сообщение о вводе пропадает, на кассе по очереди происходит ввод позиций товара, а затем Е ОПРОС. Все виснет. Помогает только перезагрузка компютера. После чего выводится чек но без наименований товара.
Возможно ли что ваша библиотека не подходит к FoxPro?
 
Уточните, пожалуйста версию файла библиотеки и версию прошивки АМС-100К (можно посмотреть в респечатке теста ТПУ).
 
Версия библиотеки 1.0.7.32
Версия прошивки 1.0.0K
 
Цитата
Сергей пишет:
При добавлении функцией cbAddSale("Товар",1,1,1), прочитать функцией cbGetSale(1,....) не получается

Проверьте соответствие типов передаваемых в функции параметров. Используемый по умолчанию в FoxPro целочисленный тип данных имеет размер 16 бит или 32 бита? Соответствует ли тип данных, используемый при объявлении внешней функции принятому в Win32 по умолчанию, т.е. 32 бита? Наименование товара необходимо передавать как указатель на терминированную нулем строку. Какой тип данных используется у Вас при объявлении функции для передачи наименования? Посмотрите каким образом FoxPro хранит в памяти строки и обращается к ним.
 
Integer
Numeric value with no decimals
4 bytes
-2147483647 to 2147483647

Character
Alphanumeric text
1 byte per character to 254
Any characters

Строка хранится как есть..."ФФФФФ"
 
Каким образом (с передачей каких типов) объявлена внешняя функция cbAddSale? Очень похоже на то, что в библитеку передается не то, что нужно.
 
DECLARE INTEGER cbAddSale IN chon100k.dll STRING PChar,Double Price,Double Qty,Integer Section
 
Правильно ли я понимаю, что у Вас объявлен параметр с именем PChar типа STRING передаваемый по значению?
 
Да, но в FoxPro можно имена переменных вообще не указывать

DECLARE INTEGER cbAddSale IN chon100k.dll STRING ,DOUBLE ,DOUBLE ,INTEGER

Типы параметров могут быть только такими:
cParameterType Description

INTEGE 32-bit integer
SINGLE 32-bit floating point
DOUBLE 64-bit floating point
LONG 32-bit long integer
STRING Character string

 
Параметр наименования должен передаваться не по значению, а по ссылке, т.е. функция принимает не строку, а указатель (32-разрядное число) на расположение в памяти терминированной нулем строки.







© 2000-2024 Версия-Т