<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Не работает trans2quik.dll]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Не работает trans2quik.dll форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 17 Apr 2026 23:50:08 +0300</pubDate>
		<item>
			<title>Не работает trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message77055/topic8831/">Не работает trans2quik.dll</a></b> <i>попытка обратиться к quik через python</i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			<a class="blog-p-user-name" id="bp_YIhrFIEW" href="/user/16700/" bx-tooltip-user-id="16700">Dmitry I Gornev</a>, добрый день.<br /><br />1. В Вашем коде отсутствует вызов TRANS2QUIK_CONNECT для соединения с терминалом QUIK.<br />2. В директории с тестовым приложением (test_x64.exe) необходимо разместить библиотеку trans2quik.dll. <br />
			<i>17.12.2024 06:36:19, Anton Belonogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message77055/topic8831/</link>
			<guid>http://forum.quik.ru/messages/forum12/message77055/topic8831/</guid>
			<pubDate>Tue, 17 Dec 2024 06:36:19 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Не работает trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message77046/topic8831/">Не работает trans2quik.dll</a></b> <i>попытка обратиться к quik через python</i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Возможно кто-то сталкивался или возникнут соображения, что еще можно предпринять. Суть такая:<br /><br />- windows 10 x64<br /> - quik 11.4.0.54, установленный в каталог C:\QUIKJunior\. <br />- В этом же каталоге лежат файлы TRANS2QUIK.DLL, TRANS2QUIK.LIB.из архива Trans2QuikAPI_1.5_x64.zip<br /><br />Соединиться с quik через PyQUIK-1.0 не удается абсолютно. Решил посмотреть, какую ошибку возвращает dll. Написал следующий код:
====code====
<pre>import ctypes
from ctypes import c_long, c_char_p, c_double, POINTER, create_string_buffer

# Загрузка DLL
trans2quik = ctypes.WinDLL(r"C:&#92;QUIKJunior&#92;TRANS2QUIK.DLL")

# Определение функции SEND_SYNC_TRANSACTION
send_sync_transaction = trans2quik.TRANS2QUIK_SEND_SYNC_TRANSACTION
send_sync_transaction.argtypes = &#91;
&nbsp;&nbsp;&nbsp;&nbsp;c_char_p,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # lpstTransactionString
&nbsp;&nbsp;&nbsp;&nbsp;POINTER(c_long),&nbsp;&nbsp;&nbsp;&nbsp;# pnReplyCode
&nbsp;&nbsp;&nbsp;&nbsp;POINTER(c_long),&nbsp;&nbsp;&nbsp;&nbsp;# pdwTransId
&nbsp;&nbsp;&nbsp;&nbsp;POINTER(c_double),&nbsp;&nbsp;# pdOrderNum
&nbsp;&nbsp;&nbsp;&nbsp;c_char_p,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # lpstrResultMessage
&nbsp;&nbsp;&nbsp;&nbsp;ctypes.c_ulong,&nbsp;&nbsp;&nbsp;&nbsp; # dwResultMessageSize
&nbsp;&nbsp;&nbsp;&nbsp;POINTER(c_long),&nbsp;&nbsp;&nbsp;&nbsp;# nTransactionExtendedErrorCode
&nbsp;&nbsp;&nbsp;&nbsp;c_char_p,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # lpstErrorMessage
&nbsp;&nbsp;&nbsp;&nbsp;ctypes.c_ulong&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# dwErrorMessageSize
&#93;
send_sync_transaction.restype = c_long

# Пример строки транзакции
transaction = "TRANS_ID=1;ACCOUNT=59257;CLASSCODE=TQBR;SECCODE=SBER;ACTION=NEW_ORDER;TYPE=L;OPERATION=B;PRICE=100.50;QUANTITY=10"
transaction_str = transaction.encode("windows-1251")

# Буферы для сообщений
result_msg = create_string_buffer(256)
error_msg = create_string_buffer(256)

# Параметры для возвращаемых значений
reply_code = c_long()
trans_id = c_long()
order_num = c_double()
extended_error_code = c_long()

# Вызов функции
result = send_sync_transaction(
&nbsp;&nbsp;&nbsp;&nbsp;transaction_str,
&nbsp;&nbsp;&nbsp;&nbsp;ctypes.byref(reply_code),
&nbsp;&nbsp;&nbsp;&nbsp;ctypes.byref(trans_id),
&nbsp;&nbsp;&nbsp;&nbsp;ctypes.byref(order_num),
&nbsp;&nbsp;&nbsp;&nbsp;result_msg,
&nbsp;&nbsp;&nbsp;&nbsp;ctypes.sizeof(result_msg),
&nbsp;&nbsp;&nbsp;&nbsp;ctypes.byref(extended_error_code),
&nbsp;&nbsp;&nbsp;&nbsp;error_msg,
&nbsp;&nbsp;&nbsp;&nbsp;ctypes.sizeof(error_msg)
)

# Вывод результатов
print("Результат:", result)
print("Код ответа:", reply_code.value)
print("ID транзакции:", trans_id.value)
print("Номер заявки:", order_num.value)
print("Сообщение о результате:", result_msg.value.decode("windows-1251"))
print("Сообщение об ошибке:", error_msg.value.decode("windows-1251"))
print("Код расширенной ошибки:", extended_error_code.value)
 
</pre>
=============
<br />Результат:
====code====
<pre>C:&#92;Trading&#92;tests&#62;python test_dll_ctypes_2.py
Результат: 7
Код ответа: 0
ID транзакции: 0
Номер заявки: 0.0
Сообщение о результате:
Сообщение об ошибке:
Код расширенной ошибки: 0&nbsp;&nbsp;
</pre>
=============
<br />Ладно. Может какая несовместимость с питоном. Их архива Trans2QuikAPI_1.5_x64.zip достаю test3. Оно же родное, от разработчиков.<br />Что имею в результате:
====code====
<pre>C:&#92;Trading&#92;tests&#92;test_trans2quik&#62;dir /b
settings.txt
start.bat
test_x64.exe

C:&#92;Trading&#92;tests&#92;test_trans2quik&#62;type settings.txt
C:&#92;QUIKJunior
C:&#92;Trading&#92;tests&#92;test_trans2quik&#62;dir /b C:&#92;QUIKJunior&#92;trans2quik.*
TRANS2QUIK.DLL
TRANS2QUIK.LIB

C:&#92;Trading&#92;tests&#92;test_trans2quik&#62;start.bat

C:&#92;Trading&#92;tests&#92;test_trans2quik&#62;del *.log
Не удается найти C:&#92;Trading&#92;tests&#92;test_trans2quik&#92;*.log

C:&#92;Trading&#92;tests&#92;test_trans2quik&#62;test_x64.exe S trr.in 1000

Необработанное исключение: System.DllNotFoundException: Не удается загрузить DLL "TRANS2QUIK.DLL": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)
&nbsp;&nbsp; в test3.test_q.connect(String lpcstrConnectionParamsString, Int32&#38; pnExtendedErrorCode, Byte&#91;&#93; lpstrErrorMessage, UInt32 dwErrorMessageSize)
&nbsp;&nbsp; в test3.test_q.connect_test(Boolean FinalPause)
&nbsp;&nbsp; в test3.Program.Main(String&#91;&#93; args) 
</pre>
=============
Может быть у кого-то есть мысли, чего ему не хватает? <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=12330&" width="479" height="283" /><br /><i>13.12.2024 21:22:49, Dmitry I Gornev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message77046/topic8831/</link>
			<guid>http://forum.quik.ru/messages/forum12/message77046/topic8831/</guid>
			<pubDate>Fri, 13 Dec 2024 21:22:49 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
	</channel>
</rss>
