Спасибо всем откликнувшимся. В сети нашел FarCards 6.XX и доки к нему. В файле Extdll.txt сказано, что "DLL должна предоставить функции GetCardInfoEx и TransactionsEx".
пишу вот так:
Код:
// Эта функция возвращает информацию о карте
// результат:
//
// 0 - без ошибок, структура Info заполнена
// 1 - карта не существует
int GetCardInfoEx( INT64 card, // номер карты
DWORD UnitNo, // код ресторана
DWORD Restaurant, // номер кассы
CardInfo* CardInfoPointer, // адрес структуры, которую функция должна заполнить, если карта существует
CHAR* InpBuf, // дополнительная информация от кассы о заказе
DWORD InpLen, // длина информации от кассы
WORD InpKind, // тип информации от кассы (1-XML)
CHAR* OutBuf, // дополнительная ответная информация
DWORD OutLen, // длина ответной информации
WORD OutKind) // тип ответной информации (2-Pr1me)
{
ofstream myfile;
myfile.open ("test.txt");
myfile << "Writing this to a file.\n";
myfile << "Writing this to a file.\n";
myfile << "Writing this to a file.\n";
myfile << "Writing this to a file.\n";
myfile.close();
return 0;
}
Код:
// Эта функция проводит транзакции для кассового чека// результат
//
// 0 - все транзакции проведены
// 1 - ни одна транзакция не проведена
// частичного выполнения быть не должно - либо все проходят, либо ни одна!
int TransactionsEx( DWORD Count, // количество транзакций
TransactionInfo *transactionList, // адрес списка, каждый элемент котoрого - ссылка (Pointer) на описание транзакции
CHAR* InpBuf, // дополнительная информация от кассы о заказе
DWORD InpLen, // длина информации от кассы
WORD InpKind, // тип информации от кассы (1-XML)
CHAR* OutBuf, // дополнительная ответная информация
DWORD OutLen, // длина ответной информации
WORD OutKind) // тип ответной информации (2-Pr1me)
{
ofstream myfile;
myfile.open ("test.txt");
myfile << "Writing this to a file.\n";
myfile << "Writing this to a file.\n";
myfile << "Writing this to a file.\n";
myfile << "Writing this to a file.\n";
myfile.close();
return 0;
}
Структуры CardInfo и TransactionInfo объявлены в отдельном cpp файле. Компилируется без проблем, в FARCARDS.INI пишу:
Код:
[FarServer]Type = 1
DLL = kopilka.dll
Gate = 1
Log = 1
[LinkDLL]
1 = RNBOPen
2 = RLocal
[RTcp]
Client1 = Дальний Ресторан
Server1 = 127.0.0.1
Port1 = 2222
[RNBOpen]
Server = AServ
[RLocal]
Port = 0
и ложу kopilka.dll рядом с Farcards.exe. При попытке запустить ничего не происходит. Так и должно быть? Как вообще можно проверить что оно работает?
Еще раз спасибо всем откликнувшимся.