//--- load trans2quik.dll ---if((QTrader.QuikPath <> '') and (FileExists(IncludeTrailingPathDelimiter(QTrader.QuikPath) + DllName))) then
begin
QTrader.Tr2QHandle:= LibLoad(QTrader.QuikPath);
if(QTrader.Tr2QHandle > 0) then
begin
ErrCode:= 0;
ErrSize:=0;
ErrStr:= nil;
res:= T2QConnect(LPSTR(AnsiString(QTrader.QuikPath)), ErrCode, ErrStr, ErrSize);
case res of
TRANS2QUIK_SUCCESS: begin
QTrader.QConn:= true;
QTrader.DLLConn:= true;
res:= T2QSetConnStatCB(@pfConnStatusCB, ErrCode, ErrStr, ErrSize);
if(res = TRANS2QUIK_SUCCESS) then
begin
res:= T2QSetTransReplyCB(@pfTransReplyCB, ErrCode, ErrStr, ErrSize);
if(res = TRANS2QUIK_SUCCESS) then
begin
res:= T2QStartOrders(@pfOrderStatusCB);
if(res = TRANS2QUIK_SUCCESS) then
begin
res:= T2QStartTrades(@pfTradeStatusCB);
if(res <> TRANS2QUIK_SUCCESS) then
begin
Application.MessageBox(PWideChar('Не установлен колбэк статуса сделок!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
close();
end;
end else
begin
Application.MessageBox(PWideChar('Не установлен колбэк статуса ордеров!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
close();
end;
end else
begin
Application.MessageBox(PWideChar('Не установлен колбэк ответов!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
end else
begin
Application.MessageBox(PWideChar('Не установлен колбэк соединения!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
end;
TRANS2QUIK_FAILED: begin
Application.MessageBox(PWideChar('Непредвиденая ошибка при попытке соединения с QUIK!'
+ #10#13 +
'Возможно не влючён импорт внешних транзакций.'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND: begin
Application.MessageBox(PWideChar('Не найден терминад QUIK!' + #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED: begin
Application.MessageBox(PWideChar('Данная версия trans2quik.dll не поддерживается!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
//ANS2QUIK_ALREADY_CONNECTED_TO_QUIK:;
TRANS2QUIK_WRONG_SYNTAX: begin
Application.MessageBox(PWideChar('Синтаксическая ошибка ы пути к терминалу!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_QUIK_NOT_CONNECTED: begin
Application.MessageBox(PWideChar('Нет соединения терминала с сервером!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_DLL_NOT_CONNECTED: begin
Application.MessageBox(PWideChar('Не соединения библиотеки с терминалом!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_MEMORY_ALLOCATION_ERROR: begin
Application.MessageBox(PWideChar('MEMORY ALLOCATION ERROR!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_WRONG_CONNECTION_HANDLE: begin
Application.MessageBox(PWideChar('WRONG CONNECTION HANDLE!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
TRANS2QUIK_WRONG_INPUT_PARAMS: begin
Application.MessageBox(PWideChar('WRONG INPUT PARAMS!'
+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
end;
end else
begin
Application.MessageBox(PWideChar('Не загружена библиотека трансакций!'+ #10#13 +
'Программа будет закрыта.'),
PWideChar('ОШИБКА!'), MB_ICONHAND);
Close();
end;
end;
有没有人真正与这个故障打过交道?
我是这样做的,现在也是。几年前写的,此后没有任何改变。我不记得有任何问题。
见手册中的副本。
起作用了,并继续起作用。几年前写的,此后没有任何改变。我不记得有任何问题。
见手册中的副本。
你试试我描述的方法。
结果和我一样吗?
如果成功的话,你能给我你的代码吗?
你试试我描述的方法。
结果和我一样吗?
你能给我你的代码吗,如果它工作的话?
代码可以工作,但你必须把它从系统中扯出来,之后它将不再工作,而且没有用处)。
在API手册中没有看到你的T2QSubscribeOrders 函数。
ZZZ我明白了,我是说上一页的功能)。不,我自己用一个干净的API写了所有的功能,实例只是供参考。
代码可以工作,但你必须把它从系统中扯出来,之后它将不再工作,而且没有用处)。
我在API手册中没有看到你的T2QSubscribeOrders 函数。
ZZZ我明白了,我是说上一页的功能)。不,我自己用一个干净的API写了所有的功能,实例只是供参考。
好的。
但你了解你的代码是如何工作的吗?
对trans2quik.dll如何工作感兴趣
即什么是(一步一步的)。
比如说。
1.正在加载DLL。
2.调用TRANS2QUIK_CONNECT
3.看看这个函数返回什么
4.如果TRANS2QUIK_SUCCESS,调用TRANS2QUIK_CONNECTION_STATUS_CALLBACK
5.如果TRANS2QUIK_SUCCESS,我们调用TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK
等等,是如何做到的?
等等,就像你所做的那样?
类似这样的事情。连接,检查,订阅colbecs,转移交易。API很小,没有其他办法。只是你有自己的API包装器,而我有一个沉浸在类中的API。
顺便说一下,今天是星期天,市场已经死了。真的不能检查什么。
类似这样的事情。连接,检查,订阅colbecs,转移交易。API很小,没有其他办法。只是你有你自己的API包装,而我的API则沉浸在一个类中。
顺便说一下,今天是星期天,市场关闭。真的无法检查任何东西。
Quirk-demo正在工作(我正在工作)。
Qurick演示正在工作(我正在工作)。
我没有一个演示。我不需要它。
顺便说一下,我记得在另一个终端中,不是在Quick中,一些带有演示请求的功能没有工作。
我不明白问题出在哪里?我不明白123号文件有什么问题,如果我想使用SPBFUT和SRZ8或特定符号的数据,然后观察前后的事件。
我不明白你在做什么,为什么。
我没有一个演示。我不需要它。
顺便说一下,我记得在另一个终端中,不是在Quick中,一些带有演示投标的功能没有工作。
我不明白,问题是什么?我不明白123号文件有什么问题,如果我想使用SPBFUT和SRZ8或特定符号的数据,然后观察前后的事件。
我不明白你在做什么,为什么。
只是犯了一个错误,函数返回说一切正常。
试了一下123,......结果是正确的。
所以我想也许我有什么地方做错了......
只是犯了一个错误,而该函数将其返回为正确。
试了一下123,......结果是正确的。
所以我想也许我做错了什么......。
如果你是用Quick Junior工作,我认为这是一个奇怪的设计。当我改用Quick时,我决定看看这只野兽是什么,它对Junior不起作用,一点也不起。
如果你和Quick Junior一起工作,我认为这是一个奇怪的设计。当我改用Quick时,我决定看看它到底是怎么回事,它对我的Junior不起作用,完全没有。
我没有什么问题。