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>";
Газ без магии: ключевые мысли Давида Абельмана с эфира
Давид Абельман, эксперт нефтегазового рынка, поделился своим взглядом на ценообразование природного газа. Его фокус – американский природный газ, европейский газ-бенчмарк и нефть Brent. Абельман...
Падение объемов продаж грузовиков отражают замедление экономики
По данным Автостат, продажи новых крупнотоннажных автомобилей в России в 2025 году упали на 54% год к году, до 46,9 тыс. единиц. Это минимальный результат за последние пять лет и хуже показателей...
Обновление кредитных рейтингов в ВДО и розничных облигациях (АО «Нэппи Клаб» понижен до ruC)
🔴АО «Нэппи Клаб» Эксперт РА понизило рейтинг кредитоспособности до уровня ruC, прогноз по рейтингу развивающийся. По рейтингу установлен статус «под наблюдением», что означает высокую...
Обзор данных Росстата по выработке электроэнергии в РФ в ноябре 2025г. и по потреблению энергии в декабре 2025г.
Росстат представил данные по выработке электроэнергии в РФ в ноябре 2025г.: 👉выработка электроэнергии в РФ — 104,59 млрд кВт*ч. ( -2,69% г/г)
— в т.ч. выработка ТЭС станциями — 68,43...
Raduga8, никто и не лезет. Ближайшие дивы у ВХЗ (+41%) за месяц и у Мосэнерго (+19%). В Сбер лезут под разгрузку отморозков — у кого деньги лишние, и адепты туземунства. Потом будут строчить про пр...
igorwolf, а чё выходные — понедельник?
— На широкой вилке(-+3%)- так болтаются названные эмитенты* + Игорь Иваныч в придачу — «так на одном зубчике — той вилки <img smile=»biggrin /> и то —...
Хочется слышать здесь мнение таких акционеров, которые Ставрополь еще по цене менее рубля покупали и затем только увеличивали позицию. Но почему-то они молчат🤷♂️
Смерть ген. Якубовича.
В Париже после тяжелой болезни скончался ген. майор Г. Я. Якубович, бывший товарищем военного министра при Временном правительстве. В последнее время Г. А. Якубович работал в ...
Только для квалифицированных инвесторов: открыт интервал входа в алгоритмический ИПИФ «Альфа Квант» Раз в квартал появляется возможность зайти в алгоритмическую стратегию с институциональной инфрастру...
Только для квалифицированных инвесторов: открыт интервал входа в алгоритмический ИПИФ «Альфа Квант» Раз в квартал появляется возможность зайти в алгоритмическую стратегию с институциональной инфрастру...
НУ, что я вам и говорил).
Валюта в верх не пойдет.
По юаню линия сопротивления более менее определилась, это 11,4 рубля ).
Ну вот так… либо в коридоре, либо вниз ).
#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;
}