| Цитата | 
|---|
| bas написал: Где скачать TRANS2QUIK.dll x64 ? есть пример использования на delphi выставления заявки?
 | 
procedure TExpert.SendOrder;
var
 outStr, id, s: string;
 res: long;
 ErrCode: long;
 ErrSize: Dword;
 ErrStr: LPSTR;
begin
 if(CheckFutPrice(f_price) = false) then
 begin
   Mutex.Lock;
   try
     FTransBusy:= false;
   finally
     Mutex.Unlock;
   end;
     FmemoStr:= 'SendOrder: Не правильная цена в заявке ' + FloatTostr(f_price);
     Synchronize(UpdMemo);
   exit;
 end;
 FOrder:= 0;
 FTransID:= GetTransID();
 id:= UintToStr(TransID);
 ErrCode:= 0;
 ErrSize:= 0;
 ErrStr:= nil;
 Mutex.Lock;
 try
   FTransBusy:= true;
 finally
   Mutex.Unlock;
 end;
 case dir of
   BUY: s:= 'B';
   SELL: s:= 'S';
 end;
 outStr:= 'ACCOUNT=' + FutAccaunt + '; TYPE=L; TRANS_ID=' + id +
          '; CLASSCODE=' + ExpData.FutData.ClassCode + '; SECCODE=' +
          ExpData.FutData.SecCode + '; ACTION=NEW_ORDER; OPERATION=' + s +
          '; EXECUTION_CONDITION=KILL_BALANCE' + '; PRICE=' + FloatToStr(f_price) +
          '; QUANTITY=' + FloatToStr(Qnty) + ';';
 res:= T2QSendASyncTrans(LPSTR(AnsiString(outStr)), ErrCode, ErrStr, ErrSize);
 if(res <> TRANS2QUIK_SUCCESS) then
 begin
   Mutex.Lock;
   try
     FTransID:= 0;
     FTransBusy:= false;
   finally
     Mutex.Unlock;
   end;
   FmemoStr:= 'SendOrder: Ордер ' + ExpData.FutData.SecCode + ' не отправлен.';
   Synchronize(UpdMemo);
 end else
 begin
   if((ExitOrder.Order > 0) and (dir = BUY)) then RemoveExitOrder();
   FmemoStr:= 'SendOrder: Ордер ' + ExpData.FutData.SecCode + ' отправлен.';
   Synchronize(UpdMemo);
 end;
end;