<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Delphi XE4 и trans2quik.dll]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Delphi XE4 и trans2quik.dll форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 00:52:32 +0300</pubDate>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message58359/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Только я использую асинхронные транзакции <br />
			<i>04.10.2021 11:39:33, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message58359/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message58359/topic3034/</guid>
			<pubDate>Mon, 04 Oct 2021 11:39:33 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message58356/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7vWTibS2" href="/user/15147/" bx-tooltip-user-id="15147">Павел</a> написал:<br />Михаил, добрый день.<br /><br />Попытался использовать Ваш unit tr2quik; (Delphi XE8, trans2quik 1.3)<br /><br />T2QConnect успешно, а при вызове функции T2QSendSyncTrans получаю Exception class $C0000005 with message &#39;c0000005 ACCESS_VIOLATION&#39;.<br />Подскажите, с какими параметрами (и типами переменных) Вы вызываете функцию?<br /><br />Может быть, есть идеи, от чего ошибка может возникать?<br /><br />var<br /> &nbsp;ErrCode, pnRC: long;<br /> &nbsp;ErrMsg: LPSTR;<br /> &nbsp;ErrMsgSize, dwRMS: Dword;<br /> &nbsp;RM: PAnsiChar;<br /> &nbsp;pdwTI: PDWORD;<br /> &nbsp;pdON: UInt64;<br /> &nbsp;res: integer;<br />begin<br /> &nbsp;ErrCode:=0;<br /> &nbsp;ErrMsg:=nil;<br /> &nbsp;ErrMsgSize:=0;<br /> &nbsp;pnRC:=0;<br /> &nbsp;RM:=nil;<br /> &nbsp;dwRMS:=0;<br /> &nbsp;pdwTI:=nil;<br /> &nbsp;pdON:=0;<br /> &nbsp;res:=T2QSendSyncTrans(LPSTR(AnsiString(&#39;TRANS_ID=1;CLASSCODE=BQND;ACTION=Ввод заявки;Код торгового счета=L01-00000F00;К/П=Купля;Тип=Лимитированная;Режим=BQND;Инструмент=RU000A0ZYYN4;Цена=90.000000;Количество=20;Примечание=;Условие исполнения=Поставить в очередь;&#39;)), pnRC, pdwTI, pdON, RM, dwRMS, ErrCode, ErrMsg, ErrMsgSize);<br />=============<br />//............................................<br /> &nbsp; &nbsp;else begin<br /> &nbsp; &nbsp; &nbsp;outStr:= &#39;ACCOUNT=&#39; + ExpData.SpotAccaunt + &#39;; CLIENT_CODE=&#39; +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ExpData.Client + &#39;; TYPE=L; TRANS_ID=&#39; + id +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;; CLASSCODE=&#39; + ExpData.SpotData.ClassCode + &#39;; SECCODE=&#39; +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ExpData.SpotData.SecCode +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;; ACTION=NEW_ORDER; OPERATION=B&#39; + &#39;; PRICE=&#39; +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FloatToStr(ExpData.SpotData.SellPrice + 10 * ExpData.SpotData.Step) +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;; QUANTITY=&#39; + FloatToStr(MustSpotVol) + &#39;;&#39;;<br /> &nbsp; &nbsp;end;<br /> &nbsp;end;<br /> &nbsp;ErrCode:= 0;<br /> &nbsp;ErrSize:= 0;<br /> &nbsp;ErrStr:= nil;<br /> &nbsp;res:= T2QSendASyncTrans(LPSTR(AnsiString(outStr)), ErrCode, ErrStr, ErrSize);<br /> &nbsp;if(res &lt;&gt; TRANS2QUIK_SUCCESS) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;FTransID:= 0;<br /> &nbsp; &nbsp;FTransBusy:= false;<br /> &nbsp;end else<br /> &nbsp;begin<br /> &nbsp; &nbsp;Dt:= now();<br /> &nbsp; &nbsp;FMemo.Lines.Add(DateToStr(Dt) + &#39; &#39; + FormatDateTime(&#39;hh:mm:ss.zzz&#39;, Now()) +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#39; --&gt; Ордер &#39; + ExpData.SpotData.SecCode + &#39; отправлен.&#39;);<br /> &nbsp;end; <br />
			<i>04.10.2021 11:08:32, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message58356/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message58356/topic3034/</guid>
			<pubDate>Mon, 04 Oct 2021 11:08:32 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message58064/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Михаил, добрый день.<br /><br />Попытался использовать Ваш unit tr2quik; (Delphi XE8, trans2quik 1.3)<br /><br />T2QConnect успешно, а при вызове функции T2QSendSyncTrans получаю Exception class $C0000005 with message &#39;c0000005 ACCESS_VIOLATION&#39;.<br />Подскажите, с какими параметрами (и типами переменных) Вы вызываете функцию?<br /><br />Может быть, есть идеи, от чего ошибка может возникать?<br /><br />var<br /> &nbsp;ErrCode, pnRC: long;<br /> &nbsp;ErrMsg: LPSTR;<br /> &nbsp;ErrMsgSize, dwRMS: Dword;<br /> &nbsp;RM: PAnsiChar;<br /> &nbsp;pdwTI: PDWORD;<br /> &nbsp;pdON: UInt64;<br /> &nbsp;res: integer;<br />begin<br /> &nbsp;ErrCode:=0;<br /> &nbsp;ErrMsg:=nil;<br /> &nbsp;ErrMsgSize:=0;<br /> &nbsp;pnRC:=0;<br /> &nbsp;RM:=nil;<br /> &nbsp;dwRMS:=0;<br /> &nbsp;pdwTI:=nil;<br /> &nbsp;pdON:=0;<br /> &nbsp;res:=T2QSendSyncTrans(LPSTR(AnsiString(&#39;TRANS_ID=1;CLASSCODE=BQND;ACTION=Ввод заявки;Код торгового счета=L01-00000F00;К/П=Купля;Тип=Лимитированная;Режим=BQND;Инструмент=RU000A0ZYYN4;Цена=90.000000;Количество=20;Примечание=;Условие исполнения=Поставить в очередь;&#39;)), pnRC, pdwTI, pdON, RM, dwRMS, ErrCode, ErrMsg, ErrMsgSize); <br />
			<i>20.09.2021 17:25:49, Павел.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message58064/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message58064/topic3034/</guid>
			<pubDate>Mon, 20 Sep 2021 17:25:49 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message55576/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Выкладываю еще раз<br /><br />unit tr2quik;<br /><br />interface<br /><br />uses<br /> &nbsp;WinApi.Windows, System.Sysutils;<br /><br />//var<br />// &nbsp;DllName: string;// = &#39;TRANS2QUIK.DLL&#39;;<br /><br />const<br /> &nbsp;WM_ON_TRADE = WM_USER + 179;<br /><br />//------------ Constants ------------<br /> &nbsp;TRANS2QUIK_UNKNOWN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = -1;<br /> &nbsp;TRANS2QUIK_SUCCESS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0;<br /> &nbsp;TRANS2QUIK_FAILED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1;<br /> &nbsp;TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND &nbsp; = 2;<br /> &nbsp;TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED = 3;<br /> &nbsp;TRANS2QUIK_ALREADY_CONNECTED_TO_QUIK = 4;<br /> &nbsp;TRANS2QUIK_WRONG_SYNTAX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 5;<br /> &nbsp;TRANS2QUIK_QUIK_NOT_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp;= 6;<br /> &nbsp;TRANS2QUIK_DLL_NOT_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; = 7;<br /> &nbsp;TRANS2QUIK_QUIK_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 8;<br /> &nbsp;TRANS2QUIK_QUIK_DISCONNECTED &nbsp; &nbsp; &nbsp; &nbsp; = 9;<br /> &nbsp;TRANS2QUIK_DLL_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 10;<br /> &nbsp;TRANS2QUIK_DLL_DISCONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 11;<br /> &nbsp;TRANS2QUIK_MEMORY_ALLOCATION_ERROR &nbsp; = 12;<br /> &nbsp;TRANS2QUIK_WRONG_CONNECTION_HANDLE &nbsp; = 13;<br /> &nbsp;TRANS2QUIK_WRONG_INPUT_PARAMS &nbsp; &nbsp; &nbsp; &nbsp;= 14;<br /><br /> &nbsp;ORDER_QUIKDATE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0;<br /> &nbsp;ORDER_QUIKTIME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1;<br /> &nbsp;ORDER_MICROSEC &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 2;<br /> &nbsp;ORDER_WITHDRAW_QUIKDATE = 3;<br /> &nbsp;ORDER_WITHDRAW_QUIKTIME = 4;<br /> &nbsp;ORDER_WITHDRAW_MICROSEC = 5;<br /><br /> &nbsp;TRADE_QUIKDATE = 0;<br /> &nbsp;TRADE_QUIKTIME = 1;<br /> &nbsp;TRADE_MICROSEC = 2;<br /><br /> &nbsp;REPL_NONE &nbsp;= 0;<br /> &nbsp;REPL_TRANS = 1;<br /> &nbsp;REPL_ORDER = 2;<br /> &nbsp;REPL_TRADE = 3;<br /><br />//--- DLL ERRORS ---<br /> &nbsp;TR2QUIK_TERMINAL_CLOSED &nbsp; &nbsp; &nbsp;= 109;<br /> &nbsp;TR2QUIK_TRANSACTION_FAIL &nbsp; &nbsp; = 233;<br /> &nbsp;TR2QUIK_NOT_SUBSCRIBE_ORDERS = $1000;<br /> &nbsp;TR2QUIK_NOT_SUBSCRIBE_TRADES = $1001;<br /><br />//--------- Types ------<br />type<br /> &nbsp;intptr_t = NativeInt;<br /> &nbsp;Quantity = int64;<br /> &nbsp;EntityNumber = uint64;<br /> &nbsp;PEntityNumber = ^EntityNumber;<br /> &nbsp;OrderDescriptor = intptr_t;<br /> &nbsp;TradeDescriptor = intptr_t;<br /> &nbsp;TransReplyDescriptor = intptr_t;<br /><br />//-------- Load library function -------<br /> &nbsp;function LibLoad(const aPath: string): THandle;<br /><br />//--- CallBack procedures --------------<br /> &nbsp;procedure pfConnStatusCB(nConnectionEvent: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nExtendedErrorCode: long;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpcstrInfoMessage: LPCSTR); stdcall;<br /><br /> &nbsp;procedure pfOrderStatusCB(nMode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwTransID: DWORD;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nBalance: Quantity;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nStatus: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ordDescr: OrderDescriptor); stdcall;<br /><br /> &nbsp;procedure pfTradeStatusCB(nMode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dOrderNumber: EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nQty: Quantity;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;trDescriptor: TradeDescriptor); stdcall;<br /><br /> &nbsp;procedure pfTransReplyCB(nTransactionResult: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nTransactionExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nTransactionReplyCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwTransId: DWord;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nOrderNum: EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpcstrTransactionReplyMessage: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; trReplyDescr: TransReplyDescriptor); stdcall;<br /><br />type<br />//----------------------- Prototype CallBack procedures ------------------<br /> &nbsp;TRANS2QUIK_CONNECTION_STATUS_CALLBACK = procedure(nConnectionEvent: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nExtendedErrorCode: long;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpcstrInfoMessage: LPCSTR); stdcall;<br /><br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CALLBACK = procedure(nTransactionResult: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nTransactionExtendedErrorCode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nTransactionReplyCode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwTransId: DWord;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nOrderNum: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpcstrTransactionReplyMessage: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;trReplDesc: TransReplyDescriptor); stdcall;<br /><br /> &nbsp;TRANS2QUIK_ORDER_STATUS_CALLBACK = procedure( nMode: long;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwTransID: DWORD;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nBalance: Quantity;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nStatus: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;orderDescriptor: OrderDescriptor); stdcall;<br /><br /> &nbsp;TRANS2QUIK_TRADE_STATUS_CALLBACK = procedure( nMode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dOrderNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nQty: Quantity;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tradeDescriptor: TradeDescriptor); stdcall;<br />//------------ Functions -------------------<br /> &nbsp;TRANS2QUIK_SEND_SYNC_TRANSACTION = function(lpstTransactionString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnReplyCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pdwTransId: PDWORD;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnOrderNum:EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstrResultMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var dwResultMessageSize: DWORD;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SEND_ASYNC_TRANSACTION = function(lpstTransactionString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_CONNECT = function(lpstConnectionParamsString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_DISCONNECT = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK = function(pfConnectionStatusCallback: TRANS2QUIK_CONNECTION_STATUS_CALLBACK;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK = function(pfTransactionReplyCallback: TRANS2QUIK_TRANSACTION_REPLY_CALLBACK;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_IS_QUIK_CONNECTED = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var dwErrorMessageSize: Dword): long; stdcall;<br /> &nbsp;TRANS2QUIK_IS_DLL_CONNECTED = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var dwErrorMessageSize: DWORD): long; stdcall;<br />//---<br /> &nbsp;TRANS2QUIK_SUBSCRIBE_ORDERS = function(ClassCode: LPSTR; Seccodes: LPSTR): long; stdcall;<br /> &nbsp;TRANS2QUIK_UNSUBSCRIBE_ORDERS = function(): long; stdcall;<br /> &nbsp;TRANS2QUIK_SUBSCRIBE_TRADES = function(ClassCode: LPSTR; Seccodes: LPSTR): long; stdcall;<br /> &nbsp;TRANS2QUIK_UNSUBSCRIBE_TRADES = function(): long; &nbsp;stdcall;<br />//---<br /> &nbsp;TRANS2QUIK_START_TRADES = function(pfnTradeStatusCallback: TRANS2QUIK_TRADE_STATUS_CALLBACK): long; stdcall;<br /> &nbsp;TRANS2QUIK_START_ORDERS = function(pfnOrderStatusCallback: TRANS2QUIK_ORDER_STATUS_CALLBACK): long; stdcall;<br />//---<br /> &nbsp;TRANS2QUIK_ORDER_QTY = function(orderDescriptor: OrderDescriptor): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_DATE = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_TIME = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACTIVATION_TIME = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_WITHDRAW_TIME = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXPIRY = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACCRUED_INT = function(orderDescriptor: OrderDescriptor): Double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_YIELD = function(orderDescriptor: OrderDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_UID = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_VISIBLE_QTY = function(orderDescriptor: OrderDescriptor): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_PERIOD = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_FILETIME = function(orderDescriptor: OrderDescriptor): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_DATE_TIME = function(orderDescriptor: OrderDescriptor; nTimeType: long): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_WITHDRAW_FILETIME = function(orderDescriptor: OrderDescriptor): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXTENDED_FLAGS = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_MIN_QTY = function(orderDescriptor: OrderDescriptor): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXEC_TYPE = function(orderDescriptor: OrderDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_AWG_PRICE = function(orderDescriptor: OrderDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_USERID = function(orderDescriptor: OrderDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACCOUNT = function(orderDescriptor: OrderDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_BROKERREF = function(orderDescriptor: OrderDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_CLIENT_CODE = function(orderDescriptor: OrderDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_FIRMID = function(orderDescriptor: OrderDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_REJECT_REASON = function(orderDescriptor: OrderDescriptor): LPTSTR; stdcall;<br />//---<br /> &nbsp;TRANS2QUIK_TRADE_DATE = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_DATE = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TIME = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_IS_MARGINAL = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCRUED_INT = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_YIELD = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TS_COMMISSION = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CLEARING_CENTER_COMMISSION = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_EXCHANGE_COMMISSION = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PRICE2 = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_RATE = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_VALUE = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO2_VALUE = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCRUED_INT2 = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_TERM = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_START_DISCOUNT = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_LOWER_DISCOUNT = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_UPPER_DISCOUNT = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BLOCK_SECURITIES = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PERIOD = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_KIND = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_FILETIME = function(tradeDescriptor: TradeDescriptor): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_DATE_TIME = function(tradeDescriptor: TradeDescriptor; nTimeType: long): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BROKER_COMMISSION = function(tradeDescriptor: TradeDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TRANSID = function(tradeDescriptor: TradeDescriptor): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CURRENCY = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_CURRENCY = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_CODE = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCOUNT = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BROKERREF = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CLIENT_CODE = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_USERID = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_FIRMID = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PARTNER_FIRMID = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_EXCHANGE_CODE = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_STATION_ID = function(tradeDescriptor: TradeDescriptor): LPTSTR; stdcall;<br />//---<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE = function(TRD: TransReplyDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE = function(TRD: TransReplyDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_PRICE = function(TRD: TransReplyDescriptor): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_QUANTITY = function(TRD: TransReplyDescriptor): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_BALANCE = function(TRD: TransReplyDescriptor): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_FIRMID = function(TRD: TransReplyDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT = function(TRD: TransReplyDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE = function(TRD: TransReplyDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_BROKERREF = function(TRD: TransReplyDescriptor): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE = function(TRD: TransReplyDescriptor): LPTSTR; stdcall;<br /><br />var<br /> &nbsp;T2QSendSyncTrans: TRANS2QUIK_SEND_SYNC_TRANSACTION;<br /> &nbsp;T2QSendASyncTrans: TRANS2QUIK_SEND_ASYNC_TRANSACTION;<br /> &nbsp;T2QConnect: TRANS2QUIK_CONNECT;<br /> &nbsp;T2QDisconnect: TRANS2QUIK_DISCONNECT;<br /> &nbsp;T2QSetConnStatCB: TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK;<br /> &nbsp;T2QSetTransReplyCB: TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK;<br /> &nbsp;T2QIsQuikConnected: TRANS2QUIK_IS_QUIK_CONNECTED;<br /> &nbsp;T2QIsDllConnected: TRANS2QUIK_IS_DLL_CONNECTED;<br /> &nbsp;T2QSubscribeOrders: TRANS2QUIK_SUBSCRIBE_ORDERS;<br /> &nbsp;T2QUnSubscribeOrders: TRANS2QUIK_UNSUBSCRIBE_ORDERS;<br /> &nbsp;T2QStartOrders: TRANS2QUIK_START_ORDERS;<br /> &nbsp;T2QOrderQty: TRANS2QUIK_ORDER_QTY;<br /> &nbsp;T2QOrderDate: TRANS2QUIK_ORDER_DATE;<br /> &nbsp;T2QOrderTime: TRANS2QUIK_ORDER_TIME;<br /> &nbsp;T2QOrderActiveTime: TRANS2QUIK_ORDER_ACTIVATION_TIME;<br /> &nbsp;T2QOrderWithdrawTime: TRANS2QUIK_ORDER_WITHDRAW_TIME;<br /> &nbsp;T2QOrderExpiry: TRANS2QUIK_ORDER_EXPIRY;<br /> &nbsp;T2QOrderAccruedInt: TRANS2QUIK_ORDER_ACCRUED_INT;<br /> &nbsp;T2QOrderYield: TRANS2QUIK_ORDER_YIELD;<br /> &nbsp;T2QOrderUid: TRANS2QUIK_ORDER_UID;<br /> &nbsp;T2QOrderVisibleQty: TRANS2QUIK_ORDER_VISIBLE_QTY;<br /> &nbsp;T2QOrderPeriod: TRANS2QUIK_ORDER_PERIOD;<br /> &nbsp;T2QOrderFileTime: TRANS2QUIK_ORDER_FILETIME;<br /> &nbsp;T2QOrderDateTime: TRANS2QUIK_ORDER_DATE_TIME;<br /> &nbsp;T2QOrderWithdrawFileTime: TRANS2QUIK_ORDER_WITHDRAW_FILETIME;<br /> &nbsp;T2QOrderValueEntryType: TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE;<br /> &nbsp;T2QOrderExtdFlags: TRANS2QUIK_ORDER_EXTENDED_FLAGS;<br /> &nbsp;T2QOrderMinQty: TRANS2QUIK_ORDER_MIN_QTY;<br /> &nbsp;T2QOrderExecType: TRANS2QUIK_ORDER_EXEC_TYPE;<br /> &nbsp;T2QOrderAwgPrice: TRANS2QUIK_ORDER_AWG_PRICE;<br /> &nbsp;T2QOrderUserId: TRANS2QUIK_ORDER_USERID;<br /> &nbsp;T2QOrderAccaunt: TRANS2QUIK_ORDER_ACCOUNT;<br /> &nbsp;T2QOrderBrokerRef: TRANS2QUIK_ORDER_BROKERREF;<br /> &nbsp;T2QOrderClientCode: TRANS2QUIK_ORDER_CLIENT_CODE;<br /> &nbsp;T2QOrderFirmId: TRANS2QUIK_ORDER_FIRMID;<br /> &nbsp;T2QOrderRejectReason: TRANS2QUIK_ORDER_REJECT_REASON;<br /> &nbsp;T2QSubscribeTrades: TRANS2QUIK_SUBSCRIBE_TRADES;<br /> &nbsp;T2QUnSubscribeTrades: TRANS2QUIK_UNSUBSCRIBE_TRADES;<br /> &nbsp;T2QStartTrades: TRANS2QUIK_START_TRADES;<br /> &nbsp;T2QTradeDate: TRANS2QUIK_TRADE_DATE;<br /> &nbsp;T2QTradeSettleDate: TRANS2QUIK_TRADE_SETTLE_DATE;<br /> &nbsp;T2QTradeTime: TRANS2QUIK_TRADE_TIME;<br /> &nbsp;T2QTradeIsMarginal: TRANS2QUIK_TRADE_IS_MARGINAL;<br /> &nbsp;T2QTradeAccruedInt: TRANS2QUIK_TRADE_ACCRUED_INT;<br /> &nbsp;T2QTradeYield: TRANS2QUIK_TRADE_YIELD;<br /> &nbsp;T2QTradeTSCommission: TRANS2QUIK_TRADE_TS_COMMISSION;<br /> &nbsp;T2QTradeClCenterCommission: TRANS2QUIK_TRADE_CLEARING_CENTER_COMMISSION;<br /> &nbsp;T2QTradeExcCommission: TRANS2QUIK_TRADE_EXCHANGE_COMMISSION;<br /> &nbsp;T2QTradeTrSysCommission: TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION;<br /> &nbsp;T2QTradePrice2: TRANS2QUIK_TRADE_PRICE2;<br /> &nbsp;T2QTradeRepoRate: TRANS2QUIK_TRADE_REPO_RATE;<br /> &nbsp;T2QTradeRepoValue: TRANS2QUIK_TRADE_REPO_VALUE;<br /> &nbsp;T2QTradeRepo2Value: TRANS2QUIK_TRADE_REPO2_VALUE;<br /> &nbsp;T2QTradeAccruedInt2: TRANS2QUIK_TRADE_ACCRUED_INT2;<br /> &nbsp;T2QTradeRepoTerm: TRANS2QUIK_TRADE_REPO_TERM;<br /> &nbsp;T2QTradeStDiscount: TRANS2QUIK_TRADE_START_DISCOUNT;<br /> &nbsp;T2QTradeLwDiscount: TRANS2QUIK_TRADE_LOWER_DISCOUNT;<br /> &nbsp;T2QTradeUpDiscount: TRANS2QUIK_TRADE_UPPER_DISCOUNT;<br /> &nbsp;T2QTradeBlSecur: TRANS2QUIK_TRADE_BLOCK_SECURITIES;<br /> &nbsp;T2QTradePeriod: TRANS2QUIK_TRADE_PERIOD;<br /> &nbsp;T2QTradeKind: TRANS2QUIK_TRADE_KIND;<br /> &nbsp;T2QTradeFileName: TRANS2QUIK_TRADE_FILETIME;<br /> &nbsp;T2QTradeDateTime: TRANS2QUIK_TRADE_DATE_TIME;<br /> &nbsp;T2QTradeBrCommission: TRANS2QUIK_TRADE_BROKER_COMMISSION;<br /> &nbsp;T2QTradeTransId: TRANS2QUIK_TRADE_TRANSID;<br /> &nbsp;T2QTradeCurrensy: TRANS2QUIK_TRADE_CURRENCY;<br /> &nbsp;T2QTradeSettlCurr: TRANS2QUIK_TRADE_SETTLE_CURRENCY;<br /> &nbsp;T2QTradeSettlCode: TRANS2QUIK_TRADE_SETTLE_CODE;<br /> &nbsp;T2QTradeAccount: TRANS2QUIK_TRADE_ACCOUNT;<br /> &nbsp;T2QTradeBrRef: TRANS2QUIK_TRADE_BROKERREF;<br /> &nbsp;T2QTradeClCode: TRANS2QUIK_TRADE_CLIENT_CODE;<br /> &nbsp;T2QTradeUserId: TRANS2QUIK_TRADE_USERID;<br /> &nbsp;T2QTradeFirmId: TRANS2QUIK_TRADE_FIRMID;<br /> &nbsp;T2QTradePartFirmId: TRANS2QUIK_TRADE_PARTNER_FIRMID;<br /> &nbsp;T2QTradeExcCode: TRANS2QUIK_TRADE_EXCHANGE_CODE;<br /> &nbsp;T2QTradeStationId: TRANS2QUIK_TRADE_STATION_ID;<br /> &nbsp;T2QTransReplyClassCode: TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE;<br /> &nbsp;T2QTransReplySecCode: TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE;<br /> &nbsp;T2QTransReplyPrice: TRANS2QUIK_TRANSACTION_REPLY_PRICE;<br /> &nbsp;T2QTransReplyQty: TRANS2QUIK_TRANSACTION_REPLY_QUANTITY;<br /> &nbsp;T2QTransReplyBal: TRANS2QUIK_TRANSACTION_REPLY_BALANCE;<br /> &nbsp;T2QTransReplyFirmId: TRANS2QUIK_TRANSACTION_REPLY_FIRMID;<br /> &nbsp;T2QTransReplyAccount: TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT;<br /> &nbsp;T2QTransReplyClCode: TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE;<br /> &nbsp;T2QTransReplyBrRef: TRANS2QUIK_TRANSACTION_REPLY_BROKERREF;<br /> &nbsp;T2QTransReplyExcCode: TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE;<br /><br />implementation<br /> &nbsp;uses Main, CHILDWIN;<br /><br />function LibLoad(const aPath: string): THandle;<br />begin<br /> &nbsp;Result:= LoadLibrary(PWideChar(IncludeTrailingPathDelimiter(aPath) + MainData.DllName));<br /> &nbsp;if(Result &gt; 0) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;@T2QSendSyncTrans := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_SEND_SYNC_TRANSACTION&#39;));<br /> &nbsp; &nbsp;if(addr(T2QSendSyncTrans) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp; Result:= 0;<br /> &nbsp; &nbsp; &nbsp; Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSendASyncTrans := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_SEND_ASYNC_TRANSACTION&#39;));<br /> &nbsp; &nbsp;if(addr(T2QSendASyncTrans) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QConnect:= GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_CONNECT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QConnect) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QDisconnect := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_DISCONNECT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QDisconnect) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSetConnStatCB := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK&#39;));<br /> &nbsp; &nbsp;if(addr(T2QSetConnStatCB) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSetTransReplyCB := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK&#39;));<br /> &nbsp; &nbsp;if(addr(T2QSetTransReplyCB) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;//-----------<br /> &nbsp; &nbsp;// &nbsp;????????????????????????????<br /> &nbsp; &nbsp;//------------<br /> &nbsp; &nbsp;@T2QIsQuikConnected := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_IS_QUIK_CONNECTED&#39;));<br /> &nbsp; &nbsp;if(addr(T2QIsQuikConnected) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QIsDllConnected := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_IS_DLL_CONNECTED&#39;));<br /> &nbsp; &nbsp;if(addr(T2QIsDllConnected) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSubscribeOrders := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_SUBSCRIBE_ORDERS&#39;));<br /> &nbsp; &nbsp;if(addr(T2QSubscribeOrders) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QUnSubscribeOrders := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_UNSUBSCRIBE_ORDERS&#39;));<br /> &nbsp; &nbsp;if(addr(T2QUnSubscribeOrders) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QStartOrders := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_START_ORDERS&#39;));<br /> &nbsp; &nbsp;if(addr(T2QStartOrders) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderQty := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_QTY&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderQty) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderDate := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_DATE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderDate) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderTime := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_TIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderActiveTime := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_ACTIVATION_TIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderActiveTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderWithdrawTime := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_WITHDRAW_TIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderWithdrawTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderExpiry := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_EXPIRY&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderExpiry) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderAccruedInt := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_ACCRUED_INT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderAccruedInt) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderYield := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_YIELD&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderYield) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderUid := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_UID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderUid) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderVisibleQty := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_VISIBLE_QTY&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderVisibleQty) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderPeriod := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_PERIOD&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderPeriod) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderFileTime := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_FILETIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderFileTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderDateTime := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_DATE_TIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderDateTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderWithdrawFileTime := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_WITHDRAW_FILETIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderWithdrawFileTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderValueEntryType := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderValueEntryType) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderExtdFlags := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_EXTENDED_FLAGS&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderExtdFlags) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderMinQty := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_MIN_QTY&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderMinQty) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderExecType := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_EXEC_TYPE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderExecType) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderAwgPrice := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_AWG_PRICE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderAwgPrice) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderUserId := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_USERID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderUserId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderAccaunt := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_ACCOUNT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderAccaunt) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderBrokerRef := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_BROKERREF&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderBrokerRef) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderClientCode := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_CLIENT_CODE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderClientCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderFirmId := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_FIRMID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderFirmId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderRejectReason := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_ORDER_REJECT_REASON&#39;));<br /> &nbsp; &nbsp;if(addr(T2QOrderRejectReason) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSubscribeTrades := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_SUBSCRIBE_TRADES&#39;));<br /> &nbsp; &nbsp;if(addr(T2QSubscribeTrades) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QUnSubscribeTrades := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_UNSUBSCRIBE_TRADES&#39;));<br /> &nbsp; &nbsp;if(addr(T2QUnSubscribeTrades) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QStartTrades := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_START_TRADES&#39;));<br /> &nbsp; &nbsp;if(addr(T2QStartTrades) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeDate := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_DATE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeDate) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeSettleDate := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_SETTLE_DATE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeSettleDate) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeTime := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_TIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeIsMarginal := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_IS_MARGINAL&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeIsMarginal) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeAccruedInt := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_ACCRUED_INT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeAccruedInt) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeYield := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_YIELD&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeYield) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeTSCommission := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_TS_COMMISSION&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeTSCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeClCenterCommission := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_TS_COMMISSION&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeClCenterCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeExcCommission := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_EXCHANGE_COMMISSION&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeExcCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeTrSysCommission := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeTrSysCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradePrice2 := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_PRICE2&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradePrice2) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeRepoRate := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_REPO_RATE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeRepoRate) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeRepoValue := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_REPO_VALUE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeRepoValue) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeRepo2Value := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_REPO2_VALUE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeRepo2Value) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeAccruedInt2 := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_ACCRUED_INT2&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeAccruedInt2) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeRepoTerm := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_REPO_TERM&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeRepoTerm) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeStDiscount := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_START_DISCOUNT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeStDiscount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeLwDiscount := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_LOWER_DISCOUNT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeLwDiscount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeUpDiscount := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_UPPER_DISCOUNT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeUpDiscount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeBlSecur := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_UPPER_DISCOUNT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeBlSecur) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradePeriod := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_PERIOD&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradePeriod) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeKind := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_KIND&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeKind) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeFileName := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_FILETIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeFileName) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeDateTime := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_DATE_TIME&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeDateTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeBrCommission := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_BROKER_COMMISSION&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeBrCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeTransId := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_TRANSID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeTransId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeCurrensy := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_CURRENCY&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeCurrensy) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeSettlCurr := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_SETTLE_CURRENCY&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeSettlCurr) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeSettlCode := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_SETTLE_CODE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeSettlCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeAccount := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_ACCOUNT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeAccount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeBrRef := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_BROKERREF&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeBrRef) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeClCode := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_CLIENT_CODE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeClCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeUserId := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_USERID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeUserId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeFirmId := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_FIRMID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeFirmId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradePartFirmId := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_PARTNER_FIRMID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradePartFirmId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeExcCode := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_EXCHANGE_CODE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeExcCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeStationId := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRADE_STATION_ID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTradeStationId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyClassCode := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyClassCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplySecCode := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplySecCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyPrice := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_PRICE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyPrice) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyQty := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_QUANTITY&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyQty) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyBal := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_BALANCE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyBal) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyFirmId := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_FIRMID&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyFirmId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyAccount := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyAccount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyClCode := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyClCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyBrRef := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_BROKERREF&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyBrRef) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyExcCode := GetProcAddress(Result, PWideChar(&#39;TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE&#39;));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyExcCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp;end;<br />end;<br /><br />//--- Connection status Call Back ---------<br />procedure pfConnStatusCB;<br />begin<br /> &nbsp;//<br />end;<br /><br />//--- Transaction callback -----<br />procedure pfTransReplyCB;<br />begin<br /> &nbsp;//<br />end;<br /><br />//--- Order status callback -----<br />procedure pfOrderStatusCB;<br />begin<br />//<br />end;<br /><br />//--- Trade status callback -----<br />procedure pfTradeStatusCB;<br />begin<br /> &nbsp;//not used<br />end;<br /><br />end. <br />
			<i>12.05.2021 18:26:00, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message55576/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message55576/topic3034/</guid>
			<pubDate>Wed, 12 May 2021 18:26:00 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message55575/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_e0P6CXRt" href="/user/14470/" bx-tooltip-user-id="14470">Roman</a> написал:<br />Пробовал не помогло.<br /><br />Нашел в чем дело , оказалось если вместо: <br /><br />@T2QSendSyncTrans := GetProcAddress(Result, PWideChar( &#39;TRANS2QUIK_SEND_SYNC_TRANSACTION &#39;));<br /><br />написать<br /><br />@T2QSendSyncTrans := GetProcAddress(Result, PWideChar(&#39; _TRANS2QUIK_SEND_SYNC_TRANSACTION@36 &#39;));<br /><br />то все работает<br />=============<br />Я выкладывал полностью рабочий модуль, переписанный из исходника разработчиков, и у меня все прекрасно работает.<br />Это Вы где-то намудрили <br />
			<i>12.05.2021 18:21:58, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message55575/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message55575/topic3034/</guid>
			<pubDate>Wed, 12 May 2021 18:21:58 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message50764/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Пробовал не помогло.<br /><br />Нашел в чем дело , оказалось если вместо: <br /><br />@T2QSendSyncTrans := GetProcAddress(Result, PWideChar(<B>&#39;TRANS2QUIK_SEND_SYNC_TRANSACTION</B>&#39;));<br /><br />написать<br /><br />@T2QSendSyncTrans := GetProcAddress(Result, PWideChar(&#39;<B>_TRANS2QUIK_SEND_SYNC_TRANSACTION@36</B>&#39;));<br /><br />то все работает <br />
			<i>04.12.2020 07:48:42, Roman.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message50764/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message50764/topic3034/</guid>
			<pubDate>Fri, 04 Dec 2020 07:48:42 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message50763/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			<a class="blog-p-user-name" id="bp_dvoNCxp9" href="/user/14470/" bx-tooltip-user-id="14470">Roman</a>, добрый день!<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_IP17UlCc" href="/user/14470/" bx-tooltip-user-id="14470">Roman</a> написал:<br />Пытаюсь повторить код описанный выше<br />=============<br />В таком случае, в первую очередь рекомендуем попробовать
====code====
<pre>@T2QSendSyncTrans := GetProcAddress(Result, PWideChar('TRANS2QUIK_SEND_SYNC_TRANSACTION'));
</pre>
=============
Вместо
====code====
<pre>@T2QSendSyncTrans := GetProcAddress(Result, PAnsiChar('TRANS2QUIK_SEND_SYNC_TRANSACTION'));
</pre>
============= <br />
			<i>04.12.2020 06:45:58, Roman Azarov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message50763/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message50763/topic3034/</guid>
			<pubDate>Fri, 04 Dec 2020 06:45:58 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message50761/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Здравствуйте.<br /><br />Пытаюсь повторить код описанный выше, DLL вроде грузится <br /><br />Result:= LoadLibrary(PWideChar(IncludeTrailingPathDelimiter(aPath) + DllName ));<br /><br />Result - не nil<br /><br />, но при попытке получить ссылку на конкретную функцию - ошибка <br /><br />@T2QSendSyncTrans := GetProcAddress(Result, PAnsiChar(&#39;TRANS2QUIK_SEND_SYNC_TRANSACTION&#39;));<br /><br />@T2QSendSyncTrans возвращает nil<br /><br />Использую Embarcadero® Delphi 10.3 + Trans2QUIK версии 1.2. <br /><br />В чем может быть дело ? <br />
			<i>03.12.2020 23:25:37, Roman.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message50761/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message50761/topic3034/</guid>
			<pubDate>Thu, 03 Dec 2020 23:25:37 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message26478/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Delphi XE4 API (подправленный)<br /><br />unit tr2quik;<br /><br />interface<br /><br />uses<br /> &nbsp;WinApi.Windows, System.Sysutils;<br /><br />const<br /> &nbsp;DllName = 'TRANS2QUIK.DLL';<br />//-------------- Constants --------------------------<br /> &nbsp;TRANS2QUIK_SUCCESS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0;<br /> &nbsp;TRANS2QUIK_FAILED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1;<br /> &nbsp;TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND &nbsp; = 2;<br /> &nbsp;TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED = 3;<br /> &nbsp;TRANS2QUIK_ALREADY_CONNECTED_TO_QUIK = 4;<br /> &nbsp;TRANS2QUIK_WRONG_SYNTAX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 5;<br /> &nbsp;TRANS2QUIK_QUIK_NOT_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp;= 6;<br /> &nbsp;TRANS2QUIK_DLL_NOT_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; = 7;<br /> &nbsp;TRANS2QUIK_QUIK_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 8;<br /> &nbsp;TRANS2QUIK_QUIK_DISCONNECTED &nbsp; &nbsp; &nbsp; &nbsp; = 9;<br /> &nbsp;TRANS2QUIK_DLL_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 10;<br /> &nbsp;TRANS2QUIK_DLL_DISCONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 11;<br /> &nbsp;TRANS2QUIK_MEMORY_ALLOCATION_ERROR &nbsp; = 12;<br /> &nbsp;TRANS2QUIK_WRONG_CONNECTION_HANDLE &nbsp; = 13;<br /> &nbsp;TRANS2QUIK_WRONG_INPUT_PARAMS &nbsp; &nbsp; &nbsp; &nbsp;= 14;<br /><br /> &nbsp;ORDER_QUIKDATE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0;<br /> &nbsp;ORDER_QUIKTIME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1;<br /> &nbsp;ORDER_MICROSEC &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 2;<br /> &nbsp;ORDER_WITHDRAW_QUIKDATE = 3;<br /> &nbsp;ORDER_WITHDRAW_QUIKTIME = 4;<br /> &nbsp;ORDER_WITHDRAW_MICROSEC = 5;<br /><br /> &nbsp;TRADE_QUIKDATE = 0;<br /> &nbsp;TRADE_QUIKTIME = 1;<br /> &nbsp;TRADE_MICROSEC = 2;<br /><br />//------------------------- Types ------------------------------<br />type<br /> &nbsp;intptr_t = NativeInt;<br /> &nbsp;Quantity = int64;<br /> &nbsp;EntityNumber = uint64;<br /> &nbsp;PEntityNumber = ^EntityNumber;<br /> &nbsp;OrderDescr = intptr_t;<br /> &nbsp;TradeDescr = intptr_t;<br /> &nbsp;TransReplyDescr = intptr_t;<br /><br />//-------- Load library function -------<br /> &nbsp;function LibLoad(const aPath: string): THandle;<br />//--- CallBack procedures --------------<br /> &nbsp;procedure pfConnStatusCB(nConnectionEvent: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nExtendedErrorCode: long;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpcstrInfoMessage: LPCSTR); stdcall;<br /> &nbsp;procedure pfOrderStatusCB(nMode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwTransID: DWORD;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nBalance: Quantity;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nStatus: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;orderDescriptor: OrderDescr); stdcall;<br /><br /> &nbsp;procedure pfTradeStatusCB(nMode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dOrderNumber: EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nQty: Quantity;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tradeDescriptor: TradeDescr); stdcall;<br /> &nbsp;procedure pfTransReplyCB(nTransactionResult: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nTransactionExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nTransactionReplyCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwTransId: DWord;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nOrderNum: EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpcstrTransactionReplyMessage: LPCSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; transReplyDescriptor: TransReplyDescr); stdcall;<br /><br />type<br />//----------------------- Prototype CallBack procedures ------------------<br /> &nbsp;TRANS2QUIK_CONNECTION_STATUS_CALLBACK = procedure(nConnectionEvent: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nExtendedErrorCode: long;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpcstrInfoMessage: LPCSTR); stdcall;<br /><br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CALLBACK = procedure(nTransactionResult: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nTransactionExtendedErrorCode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nTransactionReplyCode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwTransId: DWord;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nOrderNum: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpcstrTransactionReplyMessage: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;transReplyDescriptor: TransReplyDescr); stdcall;<br /><br /> &nbsp;TRANS2QUIK_ORDER_STATUS_CALLBACK = procedure( nMode: long;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwTransID: DWORD;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nBalance: Quantity;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nStatus: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;orderDescriptor: OrderDescr); stdcall;<br /><br /> &nbsp;TRANS2QUIK_TRADE_STATUS_CALLBACK = procedure( nMode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dOrderNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nQty: Quantity;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tradeDescriptor: TradeDescr); stdcall;<br />//------------ Functions -------------------<br /> &nbsp;TRANS2QUIK_SEND_SYNC_TRANSACTION = function(lpstTransactionString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnReplyCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pdwTransId: PDWORD;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnOrderNum:EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrResultMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwResultMessageSize: DWORD;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SEND_ASYNC_TRANSACTION = function(lpstTransactionString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var lpstErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_CONNECT = function(lpstConnectionParamsString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_DISCONNECT = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK = function(pfConnectionStatusCallback: TRANS2QUIK_CONNECTION_STATUS_CALLBACK;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK = function(pfTransactionReplyCallback: TRANS2QUIK_TRANSACTION_REPLY_CALLBACK;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_IS_QUIK_CONNECTED = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwErrorMessageSize: Dword): long; stdcall;<br /> &nbsp;TRANS2QUIK_IS_DLL_CONNECTED = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SUBSCRIBE_ORDERS = function(ClassCode: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Seccodes: LPSTR): long; stdcall;<br /> &nbsp;TRANS2QUIK_UNSUBSCRIBE_ORDERS = function(): long; stdcall;<br /> &nbsp;TRANS2QUIK_START_ORDERS = function(pfnOrderStatusCallback: TRANS2QUIK_ORDER_STATUS_CALLBACK): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_QTY = function(orderDescriptor: OrderDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_DATE = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_TIME = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACTIVATION_TIME = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_WITHDRAW_TIME = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXPIRY = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACCRUED_INT = function(orderDescriptor: OrderDescr): Double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_YIELD = function(orderDescriptor: OrderDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_UID = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_VISIBLE_QTY = function(orderDescriptor: OrderDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_PERIOD = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_FILETIME = function(orderDescriptor: OrderDescr): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_DATE_TIME = function(orderDescriptor: OrderDescr; nTimeType: long): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_WITHDRAW_FILETIME = function(orderDescriptor: OrderDescr): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXTENDED_FLAGS = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_MIN_QTY = function(orderDescriptor: OrderDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXEC_TYPE = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_AWG_PRICE = function(orderDescriptor: OrderDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_USERID = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACCOUNT = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_BROKERREF = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_CLIENT_CODE = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_FIRMID = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_REJECT_REASON = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_SUBSCRIBE_TRADES = function(ClassCode: LPSTR; Seccodes: LPSTR): long; stdcall;<br /> &nbsp;TRANS2QUIK_UNSUBSCRIBE_TRADES = function(): long; &nbsp;stdcall;<br /> &nbsp;TRANS2QUIK_START_TRADES = function(pfnTradeStatusCallback: TRANS2QUIK_TRADE_STATUS_CALLBACK): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_DATE = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_DATE = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TIME = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_IS_MARGINAL = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCRUED_INT = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_YIELD = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TS_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CLEARING_CENTER_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_EXCHANGE_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PRICE2 = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_RATE = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_VALUE = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO2_VALUE = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCRUED_INT2 = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_TERM = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_START_DISCOUNT = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_LOWER_DISCOUNT = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_UPPER_DISCOUNT = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BLOCK_SECURITIES = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PERIOD = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_KIND = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_FILETIME = function(tradeDescriptor: TradeDescr): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_DATE_TIME = function(tradeDescriptor: TradeDescr; nTimeType: long): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BROKER_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TRANSID = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CURRENCY = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_CURRENCY = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_CODE = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCOUNT = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BROKERREF = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CLIENT_CODE = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_USERID = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_FIRMID = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PARTNER_FIRMID = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_EXCHANGE_CODE = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_STATION_ID = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_PRICE = function(tradeDescriptor: TransReplyDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_QUANTITY = function(tradeDescriptor: TransReplyDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_BALANCE = function(tradeDescriptor: TransReplyDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_FIRMID = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_BROKERREF = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /><br />var<br /> &nbsp;T2QSendSyncTrans: TRANS2QUIK_SEND_SYNC_TRANSACTION;<br /> &nbsp;T2QSendASyncTrans: TRANS2QUIK_SEND_ASYNC_TRANSACTION;<br /> &nbsp;T2QConnect: TRANS2QUIK_CONNECT;<br /> &nbsp;T2QDisconnect: TRANS2QUIK_DISCONNECT;<br /> &nbsp;T2QSetConnStatCB: TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK;<br /> &nbsp;T2QSetTransReplyCB: TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK;<br /> &nbsp;T2QIsQuikConnected: TRANS2QUIK_IS_QUIK_CONNECTED;<br /> &nbsp;T2QIsDllConnected: TRANS2QUIK_IS_DLL_CONNECTED;<br /> &nbsp;T2QSubscribeOrders: TRANS2QUIK_SUBSCRIBE_ORDERS;<br /> &nbsp;T2QUnSubscribeOrders: TRANS2QUIK_UNSUBSCRIBE_ORDERS;<br /> &nbsp;T2QStartOrders: TRANS2QUIK_START_ORDERS;<br /> &nbsp;T2QOrderQty: TRANS2QUIK_ORDER_QTY;<br /> &nbsp;T2QOrderDate: TRANS2QUIK_ORDER_DATE;<br /> &nbsp;T2QOrderTime: TRANS2QUIK_ORDER_TIME;<br /> &nbsp;T2QOrderActiveTime: TRANS2QUIK_ORDER_ACTIVATION_TIME;<br /> &nbsp;T2QOrderWithdrawTime: TRANS2QUIK_ORDER_WITHDRAW_TIME;<br /> &nbsp;T2QOrderExpiry: TRANS2QUIK_ORDER_EXPIRY;<br /> &nbsp;T2QOrderAccruedInt: TRANS2QUIK_ORDER_ACCRUED_INT;<br /> &nbsp;T2QOrderYield: TRANS2QUIK_ORDER_YIELD;<br /> &nbsp;T2QOrderUid: TRANS2QUIK_ORDER_UID;<br /> &nbsp;T2QOrderVisibleQty: TRANS2QUIK_ORDER_VISIBLE_QTY;<br /> &nbsp;T2QOrderPeriod: TRANS2QUIK_ORDER_PERIOD;<br /> &nbsp;T2QOrderFileTime: TRANS2QUIK_ORDER_FILETIME;<br /> &nbsp;T2QOrderDateTime: TRANS2QUIK_ORDER_DATE_TIME;<br /> &nbsp;T2QOrderWithdrawFileTime: TRANS2QUIK_ORDER_WITHDRAW_FILETIME;<br /> &nbsp;T2QOrderValueEntryType: TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE;<br /> &nbsp;T2QOrderExtdFlags: TRANS2QUIK_ORDER_EXTENDED_FLAGS;<br /> &nbsp;T2QOrderMinQty: TRANS2QUIK_ORDER_MIN_QTY;<br /> &nbsp;T2QOrderExecType: TRANS2QUIK_ORDER_EXEC_TYPE;<br /> &nbsp;T2QOrderAwgPrice: TRANS2QUIK_ORDER_AWG_PRICE;<br /> &nbsp;T2QOrderUserId: TRANS2QUIK_ORDER_USERID;<br /> &nbsp;T2QOrderAccaunt: TRANS2QUIK_ORDER_ACCOUNT;<br /> &nbsp;T2QOrderBrokerRef: TRANS2QUIK_ORDER_BROKERREF;<br /> &nbsp;T2QOrderClientCode: TRANS2QUIK_ORDER_CLIENT_CODE;<br /> &nbsp;T2QOrderFirmId: TRANS2QUIK_ORDER_FIRMID;<br /> &nbsp;T2QOrderRejectReason: TRANS2QUIK_ORDER_REJECT_REASON;<br /> &nbsp;T2QSubscribeTrades: TRANS2QUIK_SUBSCRIBE_TRADES;<br /> &nbsp;T2QUnSubscribeTrades: TRANS2QUIK_UNSUBSCRIBE_TRADES;<br /> &nbsp;T2QStartTrades: TRANS2QUIK_START_TRADES;<br /> &nbsp;T2QTradeDate: TRANS2QUIK_TRADE_DATE;<br /> &nbsp;T2QTradeSettleDate: TRANS2QUIK_TRADE_SETTLE_DATE;<br /> &nbsp;T2QTradeTime: TRANS2QUIK_TRADE_TIME;<br /> &nbsp;T2QTradeIsMarginal: TRANS2QUIK_TRADE_IS_MARGINAL;<br /> &nbsp;T2QTradeAccruedInt: TRANS2QUIK_TRADE_ACCRUED_INT;<br /> &nbsp;T2QTradeYield: TRANS2QUIK_TRADE_YIELD;<br /> &nbsp;T2QTradeTSCommission: TRANS2QUIK_TRADE_TS_COMMISSION;<br /> &nbsp;T2QTradeClCenterCommission: TRANS2QUIK_TRADE_CLEARING_CENTER_COMMISSION;<br /> &nbsp;T2QTradeExcCommission: TRANS2QUIK_TRADE_EXCHANGE_COMMISSION;<br /> &nbsp;T2QTradeTrSysCommission: TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION;<br /> &nbsp;T2QTradePrice2: TRANS2QUIK_TRADE_PRICE2;<br /> &nbsp;T2QTradeRepoRate: TRANS2QUIK_TRADE_REPO_RATE;<br /> &nbsp;T2QTradeRepoValue: TRANS2QUIK_TRADE_REPO_VALUE;<br /> &nbsp;T2QTradeRepo2Value: TRANS2QUIK_TRADE_REPO2_VALUE;<br /> &nbsp;T2QTradeAccruedInt2: TRANS2QUIK_TRADE_ACCRUED_INT2;<br /> &nbsp;T2QTradeRepoTerm: TRANS2QUIK_TRADE_REPO_TERM;<br /> &nbsp;T2QTradeStDiscount: TRANS2QUIK_TRADE_START_DISCOUNT;<br /> &nbsp;T2QTradeLwDiscount: TRANS2QUIK_TRADE_LOWER_DISCOUNT;<br /> &nbsp;T2QTradeUpDiscount: TRANS2QUIK_TRADE_UPPER_DISCOUNT;<br /> &nbsp;T2QTradeBlSecur: TRANS2QUIK_TRADE_BLOCK_SECURITIES;<br /> &nbsp;T2QTradePeriod: TRANS2QUIK_TRADE_PERIOD;<br /> &nbsp;T2QTradeKind: TRANS2QUIK_TRADE_KIND;<br /> &nbsp;T2QTradeFileName: TRANS2QUIK_TRADE_FILETIME;<br /> &nbsp;T2QTradeDateTime: TRANS2QUIK_TRADE_DATE_TIME;<br /> &nbsp;T2QTradeBrCommission: TRANS2QUIK_TRADE_BROKER_COMMISSION;<br /> &nbsp;T2QTradeTransId: TRANS2QUIK_TRADE_TRANSID;<br /> &nbsp;T2QTradeCurrensy: TRANS2QUIK_TRADE_CURRENCY;<br /> &nbsp;T2QTradeSettlCurr: TRANS2QUIK_TRADE_SETTLE_CURRENCY;<br /> &nbsp;T2QTradeSettlCode: TRANS2QUIK_TRADE_SETTLE_CODE;<br /> &nbsp;T2QTradeAccount: TRANS2QUIK_TRADE_ACCOUNT;<br /> &nbsp;T2QTradeBrRef: TRANS2QUIK_TRADE_BROKERREF;<br /> &nbsp;T2QTradeClCode: TRANS2QUIK_TRADE_CLIENT_CODE;<br /> &nbsp;T2QTradeUserId: TRANS2QUIK_TRADE_USERID;<br /> &nbsp;T2QTradeFirmId: TRANS2QUIK_TRADE_FIRMID;<br /> &nbsp;T2QTradePartFirmId: TRANS2QUIK_TRADE_PARTNER_FIRMID;<br /> &nbsp;T2QTradeExcCode: TRANS2QUIK_TRADE_EXCHANGE_CODE;<br /> &nbsp;T2QTradeStationId: TRANS2QUIK_TRADE_STATION_ID;<br /> &nbsp;T2QTransReplyClassCode: TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE;<br /> &nbsp;T2QTransReplySecCode: TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE;<br /> &nbsp;T2QTransReplyPrice: TRANS2QUIK_TRANSACTION_REPLY_PRICE;<br /> &nbsp;T2QTransReplyQty: TRANS2QUIK_TRANSACTION_REPLY_QUANTITY;<br /> &nbsp;T2QTransReplyBal: TRANS2QUIK_TRANSACTION_REPLY_BALANCE;<br /> &nbsp;T2QTransReplyFirmId: TRANS2QUIK_TRANSACTION_REPLY_FIRMID;<br /> &nbsp;T2QTransReplyAccount: TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT;<br /> &nbsp;T2QTransReplyClCode: TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE;<br /> &nbsp;T2QTransReplyBrRef: TRANS2QUIK_TRANSACTION_REPLY_BROKERREF;<br /> &nbsp;T2QTransReplyExcCode: TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE;<br /><br />implementation<br /><br />uses<br /> &nbsp;Main;<br /><br />function LibLoad(const aPath: string): THandle;<br />begin<br /> &nbsp;Result:= LoadLibrary(PWideChar(IncludeTrailingPathDelimiter(aPath) + DllName));<br /> &nbsp;if(Result &gt; 0) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;@T2QSendSyncTrans := GetProcAddress(Result, PWideChar('TRANS2QUIK_SEND_SYNC_TRANSACTION'));<br /> &nbsp; &nbsp;if(addr(T2QSendSyncTrans) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp; Result:= 0;<br /> &nbsp; &nbsp; &nbsp; Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSendASyncTrans := GetProcAddress(Result, PWideChar('TRANS2QUIK_SEND_ASYNC_TRANSACTION'));<br /> &nbsp; &nbsp;if(addr(T2QSendASyncTrans) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QConnect:= GetProcAddress(Result, PWideChar('TRANS2QUIK_CONNECT'));<br /> &nbsp; &nbsp;if(addr(T2QConnect) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QDisconnect := GetProcAddress(Result, PWideChar('TRANS2QUIK_DISCONNECT'));<br /> &nbsp; &nbsp;if(addr(T2QDisconnect) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSetConnStatCB := GetProcAddress(Result, PWideChar('TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK'));<br /> &nbsp; &nbsp;if(addr(T2QSetConnStatCB) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSetTransReplyCB := GetProcAddress(Result, PWideChar('TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK'));<br /> &nbsp; &nbsp;if(addr(T2QSetTransReplyCB) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QIsQuikConnected := GetProcAddress(Result, PWideChar('TRANS2QUIK_IS_QUIK_CONNECTED'));<br /> &nbsp; &nbsp;if(addr(T2QIsQuikConnected) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QIsDllConnected := GetProcAddress(Result, PWideChar('TRANS2QUIK_IS_DLL_CONNECTED'));<br /> &nbsp; &nbsp;if(addr(T2QIsDllConnected) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSubscribeOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_SUBSCRIBE_ORDERS'));<br /> &nbsp; &nbsp;if(addr(T2QSubscribeOrders) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QUnSubscribeOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_UNSUBSCRIBE_ORDERS'));<br /> &nbsp; &nbsp;if(addr(T2QUnSubscribeOrders) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QStartOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_START_ORDERS'));<br /> &nbsp; &nbsp;if(addr(T2QStartOrders) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_QTY'));<br /> &nbsp; &nbsp;if(addr(T2QOrderQty) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_DATE'));<br /> &nbsp; &nbsp;if(addr(T2QOrderDate) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_TIME'));<br /> &nbsp; &nbsp;if(addr(T2QOrderTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderActiveTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACTIVATION_TIME'));<br /> &nbsp; &nbsp;if(addr(T2QOrderActiveTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderWithdrawTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_WITHDRAW_TIME'));<br /> &nbsp; &nbsp;if(addr(T2QOrderWithdrawTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderExpiry := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXPIRY'));<br /> &nbsp; &nbsp;if(addr(T2QOrderExpiry) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderAccruedInt := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACCRUED_INT'));<br /> &nbsp; &nbsp;if(addr(T2QOrderAccruedInt) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderYield := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_YIELD'));<br /> &nbsp; &nbsp;if(addr(T2QOrderYield) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderUid := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_UID'));<br /> &nbsp; &nbsp;if(addr(T2QOrderUid) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderVisibleQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_VISIBLE_QTY'));<br /> &nbsp; &nbsp;if(addr(T2QOrderVisibleQty) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderPeriod := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_PERIOD'));<br /> &nbsp; &nbsp;if(addr(T2QOrderPeriod) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderFileTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_FILETIME'));<br /> &nbsp; &nbsp;if(addr(T2QOrderFileTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderDateTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_DATE_TIME'));<br /> &nbsp; &nbsp;if(addr(T2QOrderDateTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderWithdrawFileTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_WITHDRAW_FILETIME'));<br /> &nbsp; &nbsp;if(addr(T2QOrderWithdrawFileTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderValueEntryType := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE'));<br /> &nbsp; &nbsp;if(addr(T2QOrderValueEntryType) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderExtdFlags := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXTENDED_FLAGS'));<br /> &nbsp; &nbsp;if(addr(T2QOrderExtdFlags) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderMinQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_MIN_QTY'));<br /> &nbsp; &nbsp;if(addr(T2QOrderMinQty) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderExecType := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXEC_TYPE'));<br /> &nbsp; &nbsp;if(addr(T2QOrderExecType) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderAwgPrice := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_AWG_PRICE'));<br /> &nbsp; &nbsp;if(addr(T2QOrderAwgPrice) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderUserId := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_USERID'));<br /> &nbsp; &nbsp;if(addr(T2QOrderUserId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderAccaunt := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACCOUNT'));<br /> &nbsp; &nbsp;if(addr(T2QOrderAccaunt) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderBrokerRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_BROKERREF'));<br /> &nbsp; &nbsp;if(addr(T2QOrderBrokerRef) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderClientCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_CLIENT_CODE'));<br /> &nbsp; &nbsp;if(addr(T2QOrderClientCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_FIRMID'));<br /> &nbsp; &nbsp;if(addr(T2QOrderFirmId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QOrderRejectReason := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_REJECT_REASON'));<br /> &nbsp; &nbsp;if(addr(T2QOrderRejectReason) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QSubscribeTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_SUBSCRIBE_TRADES'));<br /> &nbsp; &nbsp;if(addr(T2QSubscribeTrades) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QUnSubscribeTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_UNSUBSCRIBE_TRADES'));<br /> &nbsp; &nbsp;if(addr(T2QUnSubscribeTrades) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QStartTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_START_TRADES'));<br /> &nbsp; &nbsp;if(addr(T2QStartTrades) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_DATE'));<br /> &nbsp; &nbsp;if(addr(T2QTradeDate) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeSettleDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_DATE'));<br /> &nbsp; &nbsp;if(addr(T2QTradeSettleDate) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TIME'));<br /> &nbsp; &nbsp;if(addr(T2QTradeTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeIsMarginal := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_IS_MARGINAL'));<br /> &nbsp; &nbsp;if(addr(T2QTradeIsMarginal) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeAccruedInt := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCRUED_INT'));<br /> &nbsp; &nbsp;if(addr(T2QTradeAccruedInt) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeYield := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_YIELD'));<br /> &nbsp; &nbsp;if(addr(T2QTradeYield) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeTSCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TS_COMMISSION'));<br /> &nbsp; &nbsp;if(addr(T2QTradeTSCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeClCenterCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TS_COMMISSION'));<br /> &nbsp; &nbsp;if(addr(T2QTradeClCenterCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeExcCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_EXCHANGE_COMMISSION'));<br /> &nbsp; &nbsp;if(addr(T2QTradeExcCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeTrSysCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION'));<br /> &nbsp; &nbsp;if(addr(T2QTradeTrSysCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradePrice2 := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PRICE2'));<br /> &nbsp; &nbsp;if(addr(T2QTradePrice2) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeRepoRate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_RATE'));<br /> &nbsp; &nbsp;if(addr(T2QTradeRepoRate) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeRepoValue := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_VALUE'));<br /> &nbsp; &nbsp;if(addr(T2QTradeRepoValue) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeRepo2Value := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO2_VALUE'));<br /> &nbsp; &nbsp;if(addr(T2QTradeRepo2Value) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeAccruedInt2 := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCRUED_INT2'));<br /> &nbsp; &nbsp;if(addr(T2QTradeAccruedInt2) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeRepoTerm := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_TERM'));<br /> &nbsp; &nbsp;if(addr(T2QTradeRepoTerm) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeStDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_START_DISCOUNT'));<br /> &nbsp; &nbsp;if(addr(T2QTradeStDiscount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeLwDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_LOWER_DISCOUNT'));<br /> &nbsp; &nbsp;if(addr(T2QTradeLwDiscount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeUpDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_UPPER_DISCOUNT'));<br /> &nbsp; &nbsp;if(addr(T2QTradeUpDiscount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeBlSecur := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_UPPER_DISCOUNT'));<br /> &nbsp; &nbsp;if(addr(T2QTradeBlSecur) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradePeriod := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PERIOD'));<br /> &nbsp; &nbsp;if(addr(T2QTradePeriod) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeKind := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_KIND'));<br /> &nbsp; &nbsp;if(addr(T2QTradeKind) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeFileName := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_FILETIME'));<br /> &nbsp; &nbsp;if(addr(T2QTradeFileName) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeDateTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_DATE_TIME'));<br /> &nbsp; &nbsp;if(addr(T2QTradeDateTime) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeBrCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_BROKER_COMMISSION'));<br /> &nbsp; &nbsp;if(addr(T2QTradeBrCommission) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeTransId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TRANSID'));<br /> &nbsp; &nbsp;if(addr(T2QTradeTransId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeCurrensy := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_CURRENCY'));<br /> &nbsp; &nbsp;if(addr(T2QTradeCurrensy) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeSettlCurr := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_CURRENCY'));<br /> &nbsp; &nbsp;if(addr(T2QTradeSettlCurr) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeSettlCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_CODE'));<br /> &nbsp; &nbsp;if(addr(T2QTradeSettlCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeAccount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCOUNT'));<br /> &nbsp; &nbsp;if(addr(T2QTradeAccount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeBrRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_BROKERREF'));<br /> &nbsp; &nbsp;if(addr(T2QTradeBrRef) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeClCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_CLIENT_CODE'));<br /> &nbsp; &nbsp;if(addr(T2QTradeClCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeUserId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_USERID'));<br /> &nbsp; &nbsp;if(addr(T2QTradeUserId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_FIRMID'));<br /> &nbsp; &nbsp;if(addr(T2QTradeFirmId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradePartFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PARTNER_FIRMID'));<br /> &nbsp; &nbsp;if(addr(T2QTradePartFirmId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeExcCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_EXCHANGE_CODE'));<br /> &nbsp; &nbsp;if(addr(T2QTradeExcCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTradeStationId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_STATION_ID'));<br /> &nbsp; &nbsp;if(addr(T2QTradeStationId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyClassCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyClassCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplySecCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplySecCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyPrice := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_PRICE'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyPrice) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_QUANTITY'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyQty) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyBal := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_BALANCE'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyBal) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_FIRMID'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyFirmId) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyAccount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyAccount) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyClCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyClCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyBrRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_BROKERREF'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyBrRef) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp; &nbsp;@T2QTransReplyExcCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE'));<br /> &nbsp; &nbsp;if(addr(T2QTransReplyExcCode) = nil) then<br /> &nbsp; &nbsp;begin<br /> &nbsp; &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end;<br /> &nbsp;end;<br />end;<br /><br />//--- CallBacks ---------<br />procedure pfConnStatusCB;<br />var<br /> &nbsp;ErrCode: long;<br /> &nbsp;ErrStr: PAnsiChar;<br /> &nbsp;ErrSize: Dword;<br />begin<br /> &nbsp;case nConnectionEvent of<br /> &nbsp; &nbsp;TRANS2QUIK_QUIK_CONNECTED: QTrader.QConn:= true;<br /> &nbsp; &nbsp;TRANS2QUIK_QUIK_DISCONNECTED: QTrader.QConn:= false;<br /> &nbsp; &nbsp;TRANS2QUIK_DLL_CONNECTED: QTrader.DllConn:= true;<br /> &nbsp; &nbsp;TRANS2QUIK_DLL_DISCONNECTED: begin<br /> &nbsp; &nbsp; &nbsp;QTrader.DllConn:= false;<br /> &nbsp; &nbsp; &nbsp;ErrCode:= 0;<br /> &nbsp; &nbsp; &nbsp;ErrStr:= nil;<br /> &nbsp; &nbsp; &nbsp;ErrSize:= 0;<br />//--- Try to connect ----<br /> &nbsp; &nbsp; &nbsp;T2QConnect(PAnsiChar(RawByteString(QTrader.QuikPath)), ErrCode, ErrStr, ErrSize);<br /> &nbsp; &nbsp; &nbsp;QTrader.LastErrMsg:= string(ErrStr);<br /> &nbsp; &nbsp; &nbsp;QTrader.LastErrCode:= ErrCode;<br /> &nbsp; &nbsp;end;<br /> &nbsp;end;<br />end;<br /><br /><br />procedure pfTransReplyCB;<br />begin<br /> &nbsp;//TODO Find Child and call procedure<br />end;<br /><br />procedure pfOrderStatusCB;<br />begin<br /> &nbsp;//TODO Find Child and call procedure<br />end;<br /><br />procedure pfTradeStatusCB;<br />begin<br /> &nbsp;//TODO Find Child and call procedure<br />end;<br /><br />end. <br />
			<i>31.08.2017 17:41:36, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message26478/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message26478/topic3034/</guid>
			<pubDate>Thu, 31 Aug 2017 17:41:36 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message26477/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			ВОТ здесь &quot;валится&quot;<br /><br />//--- load trsns2quik.dll ----<br /> &nbsp;if (QuikPath &lt;&gt; '') then<br /> &nbsp; &nbsp;FDllHandle:= LibLoad(QuikPath);<br /> &nbsp;if(DllHandle &gt; 0) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;ErrCode:= 0;<br /> &nbsp; &nbsp;ErrSize:= 0;<br /> &nbsp; &nbsp;ErrStr:= nil;<br /> &nbsp; &nbsp;Res:= TRANS2QUIK_SUCCESS;<br /> &nbsp; &nbsp;try<br /> &nbsp; &nbsp; &nbsp;res:= T2QConnect(PAnsiChar(RawByteString(QuikPath)), ErrCode, ErrStr, ErrSize);<br /> &nbsp; &nbsp;except<br /> &nbsp; &nbsp; &nbsp;Application.MessageBox(PWideChar('Не вкючён в терминале ''Динамический импорт транзакций''.'+<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #10#13 +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'Или не правильно указан путь к рабочей папке Quik.' +<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #10#13 + 'Программа будет закрыта.'),<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PWideChar('ВНИМАНИЕ!'), MB_ICONHAND);<br /> &nbsp; &nbsp; &nbsp;FreeLibrary(FDllHandle);<br /> &nbsp; &nbsp; &nbsp;MainForm.Timer1.Enabled:= true;<br /> &nbsp; &nbsp; &nbsp;Exit;<br /> &nbsp; &nbsp;end; <br />
			<i>31.08.2017 17:39:03, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message26477/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message26477/topic3034/</guid>
			<pubDate>Thu, 31 Aug 2017 17:39:03 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message26476/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Добрый день, Станислав!<br /><br />Вы, вероятно, ни название темы не читали, ни сами посты...<br />ПРИЛОЖЕН код, указана функция, в чём непонимание? <br />
			<i>31.08.2017 17:36:50, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message26476/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message26476/topic3034/</guid>
			<pubDate>Thu, 31 Aug 2017 17:36:50 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message26465/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_DpgV3w3C" href="/user/1158/" bx-tooltip-user-id="1158">Михаил Филимонов</a> написал:<br />Господа разработчики!<br /><br />Очень странно, что Вы не предусмотрели ситуации, когда не влючён в Терминале импорт тразакций и не правильный путь к пакке Quik!<br />Почему вылетает в эксепшин?<br />Неужели трудно было в ДЛЛ сгенериравать код ошибки????!<br />=============<br />Добрый день,<br /><br />Уточните, что именно аварийно завершает работу?<br />Используется ли Вами API_Tester_DLG из архива с библиотекой? <br />
			<i>31.08.2017 07:29:03, Stanislav Tvorogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message26465/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message26465/topic3034/</guid>
			<pubDate>Thu, 31 Aug 2017 07:29:03 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message26461/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Господа разработчики!<br /><br />Очень странно, что Вы не предусмотрели ситуации, когда не влючён в Терминале импорт тразакций и не правильный путь к пакке Quik!<br />Почему вылетает в эксепшин?<br />Неужели трудно было в ДЛЛ сгенериравать код ошибки????! &nbsp; <br />
			<i>30.08.2017 18:12:21, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message26461/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message26461/topic3034/</guid>
			<pubDate>Wed, 30 Aug 2017 18:12:21 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message26445/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			нашел ошибку!<br />Доджно быть<br />res:= T2QConnect(PAnsiChar(RawByteString(QuikPath)), ErrCode, ErrStr, ErrSize); <br />Без info.exe <br />
			<i>29.08.2017 23:02:11, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message26445/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message26445/topic3034/</guid>
			<pubDate>Tue, 29 Aug 2017 23:02:11 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Delphi XE4 и trans2quik.dll</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message26443/topic3034/">Delphi XE4 и trans2quik.dll</a></b> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Добрый день!<br /><br />Загружаю trans2quik.dll динамически<br />unit tr2quik;<br /><br />interface<br /><br />uses<br /> &nbsp;WinApi.Windows, System.Sysutils;<br /><br />const<br /> &nbsp;DllName = 'TRANS2QUIK.DLL';<br />//-------------- Constants --------------------------<br /> &nbsp;TRANS2QUIK_SUCCESS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0;<br /> &nbsp;TRANS2QUIK_FAILED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1;<br /> &nbsp;TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND &nbsp; = 2;<br /> &nbsp;TRANS2QUIK_DLL_VERSION_NOT_SUPPORTED = 3;<br /> &nbsp;TRANS2QUIK_ALREADY_CONNECTED_TO_QUIK = 4;<br /> &nbsp;TRANS2QUIK_WRONG_SYNTAX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 5;<br /> &nbsp;TRANS2QUIK_QUIK_NOT_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp;= 6;<br /> &nbsp;TRANS2QUIK_DLL_NOT_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; = 7;<br /> &nbsp;TRANS2QUIK_QUIK_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 8;<br /> &nbsp;TRANS2QUIK_QUIK_DISCONNECTED &nbsp; &nbsp; &nbsp; &nbsp; = 9;<br /> &nbsp;TRANS2QUIK_DLL_CONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 10;<br /> &nbsp;TRANS2QUIK_DLL_DISCONNECTED &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 11;<br /> &nbsp;TRANS2QUIK_MEMORY_ALLOCATION_ERROR &nbsp; = 12;<br /> &nbsp;TRANS2QUIK_WRONG_CONNECTION_HANDLE &nbsp; = 13;<br /> &nbsp;TRANS2QUIK_WRONG_INPUT_PARAMS &nbsp; &nbsp; &nbsp; &nbsp;= 14;<br /><br /> &nbsp;ORDER_QUIKDATE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 0;<br /> &nbsp;ORDER_QUIKTIME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1;<br /> &nbsp;ORDER_MICROSEC &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 2;<br /> &nbsp;ORDER_WITHDRAW_QUIKDATE = 3;<br /> &nbsp;ORDER_WITHDRAW_QUIKTIME = 4;<br /> &nbsp;ORDER_WITHDRAW_MICROSEC = 5;<br /><br /> &nbsp;TRADE_QUIKDATE = 0;<br /> &nbsp;TRADE_QUIKTIME = 1;<br /> &nbsp;TRADE_MICROSEC = 2;<br /><br />//-------- Load library function -------<br /> &nbsp;function LibLoad(const aPath: string): THandle;<br /><br /> &nbsp;//------------------------- Types ------------------------------<br />type<br /> &nbsp;intptr_t = NativeInt;<br /> &nbsp;Quantity = int64;<br /> &nbsp;EntityNumber = uint64;<br /> &nbsp;PEntityNumber = ^EntityNumber;<br /> &nbsp;OrderDescr = intptr_t;<br /> &nbsp;TradeDescr = intptr_t;<br /> &nbsp;TransReplyDescr = intptr_t;<br /><br />//----------------------- CallBack procedures ------------------<br /> &nbsp;TRANS2QUIK_CONNECTION_STATUS_CALLBACK = procedure(nConnectionEvent: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var nExtendedErrorCode: long;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var lpcstrInfoMessage: LPCSTR); stdcall;<br /><br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CALLBACK = procedure(var nTransactionResult: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var nTransactionExtendedErrorCode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var nTransactionReplyCode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var dwTransId: DWord;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nOrderNum: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var lpcstrTransactionReplyMessage: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var transReplyDescriptor: TransReplyDescr); stdcall;<br /><br /> &nbsp;TRANS2QUIK_ORDER_STATUS_CALLBACK = procedure( nMode: long;<br />						 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwTransID: DWORD;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nBalance: Quantity;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nStatus: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;orderDescriptor: OrderDescr); stdcall;<br /><br /> &nbsp;TRANS2QUIK_TRADE_STATUS_CALLBACK = procedure( nMode: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dOrderNumber: EntityNumber;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ClassCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SecCode: LPCSTR;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dPrice: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nQty: Quantity;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dValue: double;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nIsSell: long;<br />							 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tradeDescriptor: TradeDescr); stdcall;<br />//------------ Functions -------------------<br /> &nbsp;TRANS2QUIK_SEND_SYNC_TRANSACTION = function(lpstTransactionString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnReplyCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pdwTransId: PDWORD;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnOrderNum:EntityNumber;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrResultMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwResultMessageSize: DWORD;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SEND_ASYNC_TRANSACTION = function(lpstTransactionString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var lpstErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_CONNECT = function(lpstConnectionParamsString: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_DISCONNECT = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK = function(pfConnectionStatusCallback: TRANS2QUIK_CONNECTION_STATUS_CALLBACK;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK = function(pfTransactionReplyCallback: TRANS2QUIK_TRANSACTION_REPLY_CALLBACK;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_IS_QUIK_CONNECTED = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dwErrorMessageSize: Dword): long; stdcall;<br /> &nbsp;TRANS2QUIK_IS_DLL_CONNECTED = function(var pnExtendedErrorCode: long;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lpstrErrorMessage: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dwErrorMessageSize: DWORD): long; stdcall;<br /> &nbsp;TRANS2QUIK_SUBSCRIBE_ORDERS = function(ClassCode: LPSTR;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Seccodes: LPSTR): long; stdcall;<br /> &nbsp;TRANS2QUIK_UNSUBSCRIBE_ORDERS = function(): long; stdcall;<br /> &nbsp;TRANS2QUIK_START_ORDERS = function(pfnOrderStatusCallback: TRANS2QUIK_ORDER_STATUS_CALLBACK): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_QTY = function(orderDescriptor: OrderDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_DATE = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_TIME = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACTIVATION_TIME = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_WITHDRAW_TIME = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXPIRY = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACCRUED_INT = function(orderDescriptor: OrderDescr): Double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_YIELD = function(orderDescriptor: OrderDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_UID = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_VISIBLE_QTY = function(orderDescriptor: OrderDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_PERIOD = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_FILETIME = function(orderDescriptor: OrderDescr): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_DATE_TIME = function(orderDescriptor: OrderDescr; nTimeType: long): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_WITHDRAW_FILETIME = function(orderDescriptor: OrderDescr): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXTENDED_FLAGS = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_MIN_QTY = function(orderDescriptor: OrderDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_EXEC_TYPE = function(orderDescriptor: OrderDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_AWG_PRICE = function(orderDescriptor: OrderDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_USERID = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_ACCOUNT = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_BROKERREF = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_CLIENT_CODE = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_FIRMID = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_ORDER_REJECT_REASON = function(orderDescriptor: OrderDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_SUBSCRIBE_TRADES = function(ClassCode: LPSTR; Seccodes: LPSTR): long; stdcall;<br /> &nbsp;TRANS2QUIK_UNSUBSCRIBE_TRADES = function(): long; &nbsp;stdcall;<br /> &nbsp;TRANS2QUIK_START_TRADES = function(pfnTradeStatusCallback: TRANS2QUIK_TRADE_STATUS_CALLBACK): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_DATE = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_DATE = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TIME = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_IS_MARGINAL = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCRUED_INT = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_YIELD = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TS_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CLEARING_CENTER_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_EXCHANGE_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PRICE2 = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_RATE = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_VALUE = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO2_VALUE = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCRUED_INT2 = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_REPO_TERM = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_START_DISCOUNT = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_LOWER_DISCOUNT = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_UPPER_DISCOUNT = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BLOCK_SECURITIES = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PERIOD = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_KIND = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_FILETIME = function(tradeDescriptor: TradeDescr): FILETIME; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_DATE_TIME = function(tradeDescriptor: TradeDescr; nTimeType: long): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BROKER_COMMISSION = function(tradeDescriptor: TradeDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_TRANSID = function(tradeDescriptor: TradeDescr): long; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CURRENCY = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_CURRENCY = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_SETTLE_CODE = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_ACCOUNT = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_BROKERREF = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_CLIENT_CODE = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_USERID = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_FIRMID = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_PARTNER_FIRMID = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_EXCHANGE_CODE = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRADE_STATION_ID = function(tradeDescriptor: TradeDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_PRICE = function(tradeDescriptor: TransReplyDescr): double; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_QUANTITY = function(tradeDescriptor: TransReplyDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_BALANCE = function(tradeDescriptor: TransReplyDescr): Quantity; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_FIRMID = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_BROKERREF = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /> &nbsp;TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE = function(tradeDescriptor: TransReplyDescr): LPTSTR; stdcall;<br /><br />var<br /> &nbsp;T2QConnStatCallBack: TRANS2QUIK_CONNECTION_STATUS_CALLBACK;<br /> &nbsp;T2QTransReplyCallBack: &nbsp;TRANS2QUIK_TRANSACTION_REPLY_CALLBACK;<br /> &nbsp;T2QOrderStatCallBack: TRANS2QUIK_ORDER_STATUS_CALLBACK;<br /> &nbsp;T2QTradeStatCallBack: TRANS2QUIK_TRADE_STATUS_CALLBACK;<br /> &nbsp;T2QSendSyncTrans: TRANS2QUIK_SEND_SYNC_TRANSACTION;<br /> &nbsp;T2QSendASyncTrans: TRANS2QUIK_SEND_ASYNC_TRANSACTION;<br /> &nbsp;T2QConnect: TRANS2QUIK_CONNECT;<br /> &nbsp;T2QDisconnect: TRANS2QUIK_DISCONNECT;<br /> &nbsp;T2QSetConnStatCallBAck: TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK;<br /> &nbsp;T2QSetTransReplyCallBAck: TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK;<br /> &nbsp;T2QIsQuikConnected: TRANS2QUIK_IS_QUIK_CONNECTED;<br /> &nbsp;T2QIsDllConnected: TRANS2QUIK_IS_DLL_CONNECTED;<br /> &nbsp;T2QSubscribeOrders: TRANS2QUIK_SUBSCRIBE_ORDERS;<br /> &nbsp;T2QUnSubscribeOrders: TRANS2QUIK_UNSUBSCRIBE_ORDERS;<br /> &nbsp;T2QStartOrders: TRANS2QUIK_START_ORDERS;<br /> &nbsp;T2QOrderQty: TRANS2QUIK_ORDER_QTY;<br /> &nbsp;T2QOrderDate: TRANS2QUIK_ORDER_DATE;<br /> &nbsp;T2QOrderTime: TRANS2QUIK_ORDER_TIME;<br /> &nbsp;T2QOrderActiveTime: TRANS2QUIK_ORDER_ACTIVATION_TIME;<br /> &nbsp;T2QOrderWithdrawTime: TRANS2QUIK_ORDER_WITHDRAW_TIME;<br /> &nbsp;T2QOrderExpiry: TRANS2QUIK_ORDER_EXPIRY;<br /> &nbsp;T2QOrderAccruedInt: TRANS2QUIK_ORDER_ACCRUED_INT;<br /> &nbsp;T2QOrderYield: TRANS2QUIK_ORDER_YIELD;<br /> &nbsp;T2QOrderUid: TRANS2QUIK_ORDER_UID;<br /> &nbsp;T2QOrderVisibleQty: TRANS2QUIK_ORDER_VISIBLE_QTY;<br /> &nbsp;T2QOrderPeriod: TRANS2QUIK_ORDER_PERIOD;<br /> &nbsp;T2QOrderFileTime: TRANS2QUIK_ORDER_FILETIME;<br /> &nbsp;T2QOrderDateTime: TRANS2QUIK_ORDER_DATE_TIME;<br /> &nbsp;T2QOrderWithdrawFileTime: TRANS2QUIK_ORDER_WITHDRAW_FILETIME;<br /> &nbsp;T2QOrderValueEntryType: TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE;<br /> &nbsp;T2QOrderExtdFlags: TRANS2QUIK_ORDER_EXTENDED_FLAGS;<br /> &nbsp;T2QOrderMinQty: TRANS2QUIK_ORDER_MIN_QTY;<br /> &nbsp;T2QOrderExecType: TRANS2QUIK_ORDER_EXEC_TYPE;<br /> &nbsp;T2QOrderAwgPrice: TRANS2QUIK_ORDER_AWG_PRICE;<br /> &nbsp;T2QOrderUserId: TRANS2QUIK_ORDER_USERID;<br /> &nbsp;T2QOrderAccaunt: TRANS2QUIK_ORDER_ACCOUNT;<br /> &nbsp;T2QOrderBrokerRef: TRANS2QUIK_ORDER_BROKERREF;<br /> &nbsp;T2QOrderClientCode: TRANS2QUIK_ORDER_CLIENT_CODE;<br /> &nbsp;T2QOrderFirmId: TRANS2QUIK_ORDER_FIRMID;<br /> &nbsp;T2QOrderRejectReason: TRANS2QUIK_ORDER_REJECT_REASON;<br /> &nbsp;T2QSubscribeTrades: TRANS2QUIK_SUBSCRIBE_TRADES;<br /> &nbsp;T2QUnSubscribeTrades: TRANS2QUIK_UNSUBSCRIBE_TRADES;<br /> &nbsp;T2QStartTrades: TRANS2QUIK_START_TRADES;<br /> &nbsp;T2QTradeDate: TRANS2QUIK_TRADE_DATE;<br /> &nbsp;T2QTradeSettleDate: TRANS2QUIK_TRADE_SETTLE_DATE;<br /> &nbsp;T2QTradeTime: TRANS2QUIK_TRADE_TIME;<br /> &nbsp;T2QTradeIsMarginal: TRANS2QUIK_TRADE_IS_MARGINAL;<br /> &nbsp;T2QTradeAccruedInt: TRANS2QUIK_TRADE_ACCRUED_INT;<br /> &nbsp;T2QTradeYield: TRANS2QUIK_TRADE_YIELD;<br /> &nbsp;T2QTradeTSCommission: TRANS2QUIK_TRADE_TS_COMMISSION;<br /> &nbsp;T2QTradeClCenterCommission: TRANS2QUIK_TRADE_CLEARING_CENTER_COMMISSION;<br /> &nbsp;T2QTradeExcCommission: TRANS2QUIK_TRADE_EXCHANGE_COMMISSION;<br /> &nbsp;T2QTradeTrSysCommission: TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION;<br /> &nbsp;T2QTradePrice2: TRANS2QUIK_TRADE_PRICE2;<br /> &nbsp;T2QTradeRepoRate: TRANS2QUIK_TRADE_REPO_RATE;<br /> &nbsp;T2QTradeRepoValue: TRANS2QUIK_TRADE_REPO_VALUE;<br /> &nbsp;T2QTradeRepo2Value: TRANS2QUIK_TRADE_REPO2_VALUE;<br /> &nbsp;T2QTradeAccruedInt2: TRANS2QUIK_TRADE_ACCRUED_INT2;<br /> &nbsp;T2QTradeRepoTerm: TRANS2QUIK_TRADE_REPO_TERM;<br /> &nbsp;T2QTradeStDiscount: TRANS2QUIK_TRADE_START_DISCOUNT;<br /> &nbsp;T2QTradeLwDiscount: TRANS2QUIK_TRADE_LOWER_DISCOUNT;<br /> &nbsp;T2QTradeUpDiscount: TRANS2QUIK_TRADE_UPPER_DISCOUNT;<br /> &nbsp;T2QTradeBlSecur: TRANS2QUIK_TRADE_BLOCK_SECURITIES;<br /> &nbsp;T2QTradePeriod: TRANS2QUIK_TRADE_PERIOD;<br /> &nbsp;T2QTradeKind: TRANS2QUIK_TRADE_KIND;<br /> &nbsp;T2QTradeFileName: TRANS2QUIK_TRADE_FILETIME;<br /> &nbsp;T2QTradeDateTime: TRANS2QUIK_TRADE_DATE_TIME;<br /> &nbsp;T2QTradeBrCommission: TRANS2QUIK_TRADE_BROKER_COMMISSION;<br /> &nbsp;T2QTradeTransId: TRANS2QUIK_TRADE_TRANSID;<br /> &nbsp;T2QTradeCurrensy: TRANS2QUIK_TRADE_CURRENCY;<br /> &nbsp;T2QTradeSettlCurr: TRANS2QUIK_TRADE_SETTLE_CURRENCY;<br /> &nbsp;T2QTradeSettlCode: TRANS2QUIK_TRADE_SETTLE_CODE;<br /> &nbsp;T2QTradeAccount: TRANS2QUIK_TRADE_ACCOUNT;<br /> &nbsp;T2QTradeBrRef: TRANS2QUIK_TRADE_BROKERREF;<br /> &nbsp;T2QTradeClCode: TRANS2QUIK_TRADE_CLIENT_CODE;<br /> &nbsp;T2QTradeUserId: TRANS2QUIK_TRADE_USERID;<br /> &nbsp;T2QTradeFirmId: TRANS2QUIK_TRADE_FIRMID;<br /> &nbsp;T2QTradePartFirmId: TRANS2QUIK_TRADE_PARTNER_FIRMID;<br /> &nbsp;T2QTradeExcCode: TRANS2QUIK_TRADE_EXCHANGE_CODE;<br /> &nbsp;T2QTradeStationId: TRANS2QUIK_TRADE_STATION_ID;<br /> &nbsp;T2QTransReplyClassCode: TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE;<br /> &nbsp;T2QTransReplySecCode: TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE;<br /> &nbsp;T2QTransReplyPrice: TRANS2QUIK_TRANSACTION_REPLY_PRICE;<br /> &nbsp;T2QTransReplyQty: TRANS2QUIK_TRANSACTION_REPLY_QUANTITY;<br /> &nbsp;T2QTransReplyBal: TRANS2QUIK_TRANSACTION_REPLY_BALANCE;<br /> &nbsp;T2QTransReplyFirmId: TRANS2QUIK_TRANSACTION_REPLY_FIRMID;<br /> &nbsp;T2QTransReplyAccount: TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT;<br /> &nbsp;T2QTransReplyClCode: TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE;<br /> &nbsp;T2QTransReplyBrRef: TRANS2QUIK_TRANSACTION_REPLY_BROKERREF;<br /> &nbsp;T2QTransReplyExcCode: TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE;<br /><br />implementation<br /><br /><br />function LibLoad(const aPath: string): THandle;<br />begin<br /> &nbsp;Result:= LoadLibrary(PWideChar(IncludeTrailingPathDelimiter(aPath) + DllName));<br /> &nbsp;@T2QSendSyncTrans := GetProcAddress(Result, PWideChar('TRANS2QUIK_SEND_SYNC_TRANSACTION'));<br /> &nbsp;if(addr(T2QSendSyncTrans) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp; Result:= 0;<br /> &nbsp; &nbsp; Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QSendASyncTrans := GetProcAddress(Result, PWideChar('TRANS2QUIK_SEND_ASYNC_TRANSACTION'));<br /> &nbsp;if(addr(T2QSendASyncTrans) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QConnect:= GetProcAddress(Result, PWideChar('TRANS2QUIK_CONNECT'));<br /> &nbsp;if(addr(T2QConnect) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QDisconnect := GetProcAddress(Result, PWideChar('TRANS2QUIK_DISCONNECT'));<br /> &nbsp;if(addr(T2QDisconnect) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QSetConnStatCallBAck := GetProcAddress(Result, PWideChar('TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK'));<br /> &nbsp;if(addr(T2QSetConnStatCallBAck) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QSetTransReplyCallBAck := GetProcAddress(Result, PWideChar('TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK'));<br /> &nbsp;if(addr(T2QSetTransReplyCallBAck) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QIsQuikConnected := GetProcAddress(Result, PWideChar('TRANS2QUIK_IS_QUIK_CONNECTED'));<br /> &nbsp;if(addr(T2QIsQuikConnected) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QIsDllConnected := GetProcAddress(Result, PWideChar('TRANS2QUIK_IS_DLL_CONNECTED'));<br /> &nbsp;if(addr(T2QIsDllConnected) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QSubscribeOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_SUBSCRIBE_ORDERS'));<br /> &nbsp;if(addr(T2QSubscribeOrders) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QUnSubscribeOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_UNSUBSCRIBE_ORDERS'));<br /> &nbsp;if(addr(T2QUnSubscribeOrders) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QStartOrders := GetProcAddress(Result, PWideChar('TRANS2QUIK_START_ORDERS'));<br /> &nbsp;if(addr(T2QStartOrders) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_QTY'));<br /> &nbsp;if(addr(T2QOrderQty) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_DATE'));<br /> &nbsp;if(addr(T2QOrderDate) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_TIME'));<br /> &nbsp;if(addr(T2QOrderTime) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderActiveTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACTIVATION_TIME'));<br /> &nbsp;if(addr(T2QOrderActiveTime) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderWithdrawTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_WITHDRAW_TIME'));<br /> &nbsp;if(addr(T2QOrderWithdrawTime) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderExpiry := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXPIRY'));<br /> &nbsp;if(addr(T2QOrderExpiry) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderAccruedInt := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACCRUED_INT'));<br /> &nbsp;if(addr(T2QOrderAccruedInt) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderYield := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_YIELD'));<br /> &nbsp;if(addr(T2QOrderYield) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderUid := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_UID'));<br /> &nbsp;if(addr(T2QOrderUid) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderVisibleQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_VISIBLE_QTY'));<br /> &nbsp;if(addr(T2QOrderVisibleQty) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderPeriod := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_PERIOD'));<br /> &nbsp;if(addr(T2QOrderPeriod) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderFileTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_FILETIME'));<br /> &nbsp;if(addr(T2QOrderFileTime) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderDateTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_DATE_TIME'));<br /> &nbsp;if(addr(T2QOrderDateTime) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderWithdrawFileTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_WITHDRAW_FILETIME'));<br /> &nbsp;if(addr(T2QOrderWithdrawFileTime) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderValueEntryType := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_VALUE_ENTRY_TYPE'));<br /> &nbsp;if(addr(T2QOrderValueEntryType) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderExtdFlags := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXTENDED_FLAGS'));<br /> &nbsp;if(addr(T2QOrderExtdFlags) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderMinQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_MIN_QTY'));<br /> &nbsp;if(addr(T2QOrderMinQty) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderExecType := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_EXEC_TYPE'));<br /> &nbsp;if(addr(T2QOrderExecType) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderAwgPrice := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_AWG_PRICE'));<br /> &nbsp;if(addr(T2QOrderAwgPrice) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderUserId := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_USERID'));<br /> &nbsp;if(addr(T2QOrderUserId) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderAccaunt := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_ACCOUNT'));<br /> &nbsp;if(addr(T2QOrderAccaunt) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderBrokerRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_BROKERREF'));<br /> &nbsp;if(addr(T2QOrderBrokerRef) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderClientCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_CLIENT_CODE'));<br /> &nbsp;if(addr(T2QOrderClientCode) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_FIRMID'));<br /> &nbsp;if(addr(T2QOrderFirmId) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QOrderRejectReason := GetProcAddress(Result, PWideChar('TRANS2QUIK_ORDER_REJECT_REASON'));<br /> &nbsp;if(addr(T2QOrderRejectReason) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QSubscribeTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_SUBSCRIBE_TRADES'));<br /> &nbsp;if(addr(T2QSubscribeTrades) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QUnSubscribeTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_UNSUBSCRIBE_TRADES'));<br /> &nbsp;if(addr(T2QUnSubscribeTrades) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QStartTrades := GetProcAddress(Result, PWideChar('TRANS2QUIK_START_TRADES'));<br /> &nbsp;if(addr(T2QStartTrades) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_DATE'));<br /> &nbsp;if(addr(T2QTradeDate) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeSettleDate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_DATE'));<br /> &nbsp;if(addr(T2QTradeSettleDate) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TIME'));<br /> &nbsp;if(addr(T2QTradeTime) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeIsMarginal := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_IS_MARGINAL'));<br /> &nbsp;if(addr(T2QTradeIsMarginal) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeAccruedInt := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCRUED_INT'));<br /> &nbsp;if(addr(T2QTradeAccruedInt) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeYield := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_YIELD'));<br /> &nbsp;if(addr(T2QTradeYield) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeTSCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TS_COMMISSION'));<br /> &nbsp;if(addr(T2QTradeTSCommission) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeClCenterCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TS_COMMISSION'));<br /> &nbsp;if(addr(T2QTradeClCenterCommission) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeExcCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_EXCHANGE_COMMISSION'));<br /> &nbsp;if(addr(T2QTradeExcCommission) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeTrSysCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TRADING_SYSTEM_COMMISSION'));<br /> &nbsp;if(addr(T2QTradeTrSysCommission) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradePrice2 := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PRICE2'));<br /> &nbsp;if(addr(T2QTradePrice2) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeRepoRate := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_RATE'));<br /> &nbsp;if(addr(T2QTradeRepoRate) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeRepoValue := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_VALUE'));<br /> &nbsp;if(addr(T2QTradeRepoValue) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeRepo2Value := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO2_VALUE'));<br /> &nbsp;if(addr(T2QTradeRepo2Value) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeAccruedInt2 := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCRUED_INT2'));<br /> &nbsp;if(addr(T2QTradeAccruedInt2) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeRepoTerm := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_REPO_TERM'));<br /> &nbsp;if(addr(T2QTradeRepoTerm) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeStDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_START_DISCOUNT'));<br /> &nbsp;if(addr(T2QTradeStDiscount) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeLwDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_LOWER_DISCOUNT'));<br /> &nbsp;if(addr(T2QTradeLwDiscount) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeUpDiscount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_UPPER_DISCOUNT'));<br /> &nbsp;if(addr(T2QTradeUpDiscount) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeBlSecur := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_UPPER_DISCOUNT'));<br /> &nbsp;if(addr(T2QTradeBlSecur) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradePeriod := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PERIOD'));<br /> &nbsp;if(addr(T2QTradePeriod) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeKind := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_KIND'));<br /> &nbsp;if(addr(T2QTradeKind) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeFileName := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_FILETIME'));<br /> &nbsp;if(addr(T2QTradeFileName) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeDateTime := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_DATE_TIME'));<br /> &nbsp;if(addr(T2QTradeDateTime) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeBrCommission := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_BROKER_COMMISSION'));<br /> &nbsp;if(addr(T2QTradeBrCommission) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeTransId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_TRANSID'));<br /> &nbsp;if(addr(T2QTradeTransId) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeCurrensy := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_CURRENCY'));<br /> &nbsp;if(addr(T2QTradeCurrensy) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeSettlCurr := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_CURRENCY'));<br /> &nbsp;if(addr(T2QTradeSettlCurr) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeSettlCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_SETTLE_CODE'));<br /> &nbsp;if(addr(T2QTradeSettlCode) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeAccount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_ACCOUNT'));<br /> &nbsp;if(addr(T2QTradeAccount) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeBrRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_BROKERREF'));<br /> &nbsp;if(addr(T2QTradeBrRef) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeClCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_CLIENT_CODE'));<br /> &nbsp;if(addr(T2QTradeClCode) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeUserId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_USERID'));<br /> &nbsp;if(addr(T2QTradeUserId) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_FIRMID'));<br /> &nbsp;if(addr(T2QTradeFirmId) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradePartFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_PARTNER_FIRMID'));<br /> &nbsp;if(addr(T2QTradePartFirmId) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeExcCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_EXCHANGE_CODE'));<br /> &nbsp;if(addr(T2QTradeExcCode) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTradeStationId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRADE_STATION_ID'));<br /> &nbsp;if(addr(T2QTradeStationId) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyClassCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE'));<br /> &nbsp;if(addr(T2QTransReplyClassCode) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplySecCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE'));<br /> &nbsp;if(addr(T2QTransReplySecCode) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyPrice := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_PRICE'));<br /> &nbsp;if(addr(T2QTransReplyPrice) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyQty := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_QUANTITY'));<br /> &nbsp;if(addr(T2QTransReplyQty) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyBal := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_BALANCE'));<br /> &nbsp;if(addr(T2QTransReplyBal) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyFirmId := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_FIRMID'));<br /> &nbsp;if(addr(T2QTransReplyFirmId) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyAccount := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT'));<br /> &nbsp;if(addr(T2QTransReplyAccount) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyClCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE'));<br /> &nbsp;if(addr(T2QTransReplyClCode) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyBrRef := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_BROKERREF'));<br /> &nbsp;if(addr(T2QTransReplyBrRef) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br /> &nbsp;@T2QTransReplyExcCode := GetProcAddress(Result, PWideChar('TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE'));<br /> &nbsp;if(addr(T2QTransReplyExcCode) = nil) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;Result:= 0;<br /> &nbsp; &nbsp;Exit;<br /> &nbsp;end;<br />end;<br /><br />end. <br /><br />Всё нормально, хендл получен адреса функций тоже ОК,<br />но, при вызове функции <br />//--- load trsns2quik.dll ----<br /> &nbsp;if (QuikPath &lt;&gt; '') then<br /> &nbsp; &nbsp;FDllHandle:= LibLoad(QuikPath);<br /> &nbsp;if(DllHandle &gt; 0) then<br /> &nbsp;begin<br /> &nbsp; &nbsp;if(addr(T2QConnect) &lt;&gt; nil) then<br /> &nbsp; &nbsp; &nbsp;res:= T2QConnect(PAnsiChar(RawByteString(QuikPath + '\info.exe')), ErrCode, ErrStr, ErrSize);<br /> &nbsp;end;<br /><br />Получаю ACCESS VIOLATION<br /><br />Почему? <br />
			<i>29.08.2017 21:55:25, Михаил Филимонов.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message26443/topic3034/</link>
			<guid>http://forum.quik.ru/messages/forum12/message26443/topic3034/</guid>
			<pubDate>Tue, 29 Aug 2017 21:55:25 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
	</channel>
</rss>
