Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
16.03.2025, 02:50:31
Начало Помощь Поиск Войти Регистрация
Новости: ООО «Скрин маркет системз», правообладатель программы «Система брокерского обслуживания «TRANSAQ» официально заявляет, что не ведет никакой деятельности в мессенджерах или социальных сетях. 
Подробности на нашем сайте  WWW.TRANSAQ.RU.

Просмотр сообщений

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Сорвачев Сергей

Pages: 1 2 3 [4]
46
TRANSAQ Connector / Re: Добрый день
« on: 22.02.2017, 10:11:10 »
Добрый день! А зачем вы генерируете lib-файл? Загрузите библиотеку динамически с помощью функций LoadLibrary и GetProcAddress.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms685090(v=vs.85).aspx

Для случая со статической библиотекой:
В вашем коде не видно header-файла с объявлением функций коннектора.
Функция SendCommand объявлена так:
BYTE*  __stdcall  SendCommand(BYTE* pData);

48
Скачать версию 2.7 можно здесь:
http://www.transaq.ru/cl_files/v508/508TXmlConnector_b2.7.zip

49
TRANSAQ Connector / Re: Ошибка "data flow logger"
« on: 17.03.2014, 09:50:37 »
А как указывается путь к папке с логам, что указывается при вызове Initizlize()? Есть ли права на запись и создание директорий в указанной папке?

50
Следующей строчкой после SendCommand вы имеет следующую ситуацию. 2 потока. Основной поток стоит на позиции после SendMessage. Второй поток стоит в Callback от этой самой команды. UnInitialize проходит без ошибки. На FreeLibrary  появляется AccessViolation.

Добрый день, Михаил.
А можно поподробнее о Вашем проекте:
реализация у Вас на с++?
2 потока, о которых Вы пишете, это реализация Вашего проекта?
Можете привести примерный сценарий взаимодействия с библиотекой коннектора (с перечислением управляющих функций, т.е. Initialize, SendCommand(connect/disconnect), Load/FreeLibrary).

Необходимость остановки коннектора на уровне выгрузки библиотеки в процессе работы программы чем вызвана? Или указанная проблема возникает в момент завершения  Вашей программы?
Если есть возможность, можете написать небольшой тест библиотеки, который воспроизводит проблему у Вас и прислать его на support@transaq.ru?

51
Подсистема ATF / Re: Transaq Connector .h файл
« on: 19.04.2012, 09:47:41 »
А с какими фреймворками и программными инструментами Вы работаете?

52
Подсистема ATF / Re: Transaq Connector .h файл
« on: 16.04.2012, 10:11:59 »
Сигнатуры функций, экспортируемых библиотекой xmlconnector, приведены в документации.
Для работы с библиотекой необходимо использовать явную загрузку с помощью функции LoadLibrary.

53
TRANSAQ Connector / Re: транзак коннектор
« on: 05.03.2012, 13:05:45 »
Коллеги! Ищу минимальный проект по тестам функций коннектора на с++ builder! Не могу разобраться с xml структурами...Огромная просьба ... ПОМОГИТЕ!!!

Пример работы с коннектором на C++ (разрабатывался в MS Visual Studio 2005):
Code: [Select]
#include <windows.h>
#include <iostream>
#include <fstream>


#define TACCESS_API  __declspec(dllimport)
typedef bool (WINAPI *tcallback)(BYTE* pData);
typedef BYTE* (WINAPI *typeSendCommand)(BYTE* pData);
typedef bool (WINAPI  *typeFreeMemory)(BYTE* pData);
typedef bool (WINAPI *typeSetCallback)(tcallback pCallback);


std::ofstream xmlfile;
typeFreeMemory FreeMemory;


bool CALLBACK acceptor(BYTE *pData)
{
xmlfile<<pData<<std::endl;
FreeMemory(pData);
return true;
}

int main(int argc, char* argv[]) {

setlocale(LC_CTYPE, "");

std::cout<<"Statring!"<<std::endl;
xmlfile.open("test.xml");
xmlfile<<"<?xml version='1.0' encoding='UTF-8'?>";
xmlfile<<"<root>";

HMODULE hm = LoadLibrary("Debug\\txmlconnector.dll");
if (hm) {
typeSetCallback SetCallback =
reinterpret_cast<typeSetCallback>(GetProcAddress(hm, "SetCallback"));

FreeMemory =
reinterpret_cast<typeFreeMemory>(GetProcAddress(hm, "FreeMemory"));

SetCallback(acceptor);


typeSendCommand SendCommand =
reinterpret_cast<typeSendCommand>(GetProcAddress(hm,"SendCommand"));
if (!SendCommand) {
printf("\"SendCommand\" not found (0x%X)\n", GetLastError());
return -1;
}
else {
BYTE* ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='connect'>"
"<login>KOKS</login><password>koks</password>"
"<host>192.168.15.15</host><port>3901</port>"
"<logsdir>.\\LOGS\\</logsdir><loglevel>0</loglevel></command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);

Sleep(10000);

ss = SendCommand(reinterpret_cast<BYTE*>("<command id='subscribe'>"
"<alltrades><secid>304</secid></alltrades>"  //идентификаторы взял просто для примера
"<quotations><secid>304</secid></quotations>" //в реально кода надо ориентировать на то,
"<quotes><secid>304</secid></quotes>" //что присылвает сервер
"</command>"));
std::cout<<reinterpret_cast<const char*>(ss);
FreeMemory(ss);

Sleep(1000);

ss = SendCommand(reinterpret_cast<BYTE*>(
"<command id='disconnect'/>"));
std::cout<<reinterpret_cast<char*>(ss);
FreeMemory(ss);
}

try {
FreeLibrary(hm);
}
catch (...) {
std::cout<<"Fail in FreeLibrary";
}
}
int err = GetLastError();
xmlfile<<"</root>";

std::cout<<"\nEnded...\n";
char c;
std::cin>>c;
return 0;
}

Pages: 1 2 3 [4]


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!