простая DLL – все что нужно - страница 2

 
Denis Sartakov:

иногда полезно смотреть на даты

 
Комбинатор:

иногда полезно смотреть на даты

Время несущественно.


 
Комбинатор:

иногда полезно смотреть на даты

дорогой друг, прекрасно все работает до сих пор, с одной только поправкой на UNICODE строки, вот с этими поправками:

#import "C:\\NetEventsProc\\NetEventsProcDLL.dll"
// Only for Clients:
int ConnectTo(uchar&  puc_ServerIP[],// in - string puc_ServerIP = "0123456789123456"
              int     i_Port,        // in 
              int&    ph_Client[]);  // out - int ph_Client[1]
                 
int ConnectClose(int h_Client);// in
//
// Only for Server:
int ServerOpen(int i_Port);// in

int GetAllConnections(int& ph_Client[],      // out - int ph_Client[62]
                      int& pi_ClientIP[],    // out - int pi_ClientIP[62]
                      int& pi_ClientCount[]);// out - int pi_ClientCount[1]
                       
int DisconnectClient(int h_Client);// in

int ServerClose();
//
// For both: Clients and Server
int SendToInt   (int  h_Client,     // in
                 int& pi_SendBuf[], // in
                 int  i_SendBufLen);// in - SendBuf[] array size in int element 
                 
int SendToDouble(int     h_Client,     // in
                 double& pd_SendBuf[], // in
                 int     i_SendBufLen);// in - SendBuf[] array size in double element 
                 
int SendToString(int    h_Client,    // in
                 uchar& puc_SendBuf[],// in
                 int    i_SendBufLen);// in - SendBuf string size in char element
                 

int ReadFromInt   (int h_Client,      // in
                   int& pi_ReadBuf[], // in 
                   int  i_ReadBufLen, // in  - ReadBuf[] array size in int element
                   int& pi_ReadLen[]);// out - int pi_ReadLen[1] - count of actually read data in int element
                  
int ReadFromDouble(int     h_Client,    // in
                   double& pd_ReadBuf[],// in
                   int     i_ReadBufLen, // in  - ReadBuf[] array size in double element
                   int&    pi_ReadLen[]);// out - int pi_ReadLen[1] - count of actually read data in double element
                   
int ReadFromString(int     h_Client,     // in
                   uchar&  puc_ReadBuf[],// in
                   int     i_ReadBufLen, // in  - ReadBuf   string size in char element
                   int&    pi_ReadLen[]);// out - int pi_ReadLen[1] - count of actually read data in char element
//                   
#import
//+------------------------------------------------------------------+
сокеты времени не подвластны.
 
Forex Trader:
Уважаемые форумчане, доброго времени суток и больших прибылей во-первых :)
А во-вторых хочу попросить Вашей помощи - я просмотрел все темы этого форума плюс форумы www.MQL4.com , конечно встречаются множество упоминаний о dll, но это как правило либо разговор профессионалов о конкретных моментах, либо описание dll как хранилища каких-то функций, к которым обращается только сам эксперт.
Так вот не могли бы Вы доступно объяснить мне и всем кого интересует эта тема:
как должен выглядеть самый что ни на есть простой DLL, который имеет 1 общее значение переменной (скажем double) и с экспертом и с внешней программой (желательно для C++ Builder), иными словами DLL реализующий связь эксперта с внешним миром.
Ведь в большинстве случаев начинающим нужна именно основа, которую потом самостоятельно можно изучать и дополнять, а именно:
- код эксперта в части описания и использования переменных DLL;
- код самой DLL (например на С++);
- код подключения и использования DLL непосредственно во внешней программе (желательно также на С++);

Необязательно описывать конкретные рабочие примеры (хотя это и не помешает), достаточно будет показать передачу значения переменной из внешней программы -> через DLL -> в эксперт и обратно.
Вот и все что нужно !
Полагаю, если Вы поможете осветить этот вопрос, то не я один буду Вам благодарен, кроме того на форуме явно есть профессиональные программисты для это не составит особого труда.
Заранее спасибо.

По большому счету надобности в DLL  уже нет.  Раньше, это применяли что бы как то защитить код ,  либо для ускорения каких либо процессов. MQL5 по большому счету имеет настолько приличное быстродействие , что смысла в применении DLL уже давно нет.

   На MQL5 можно написать практически все что необходимо для авто - трейдинга.

 
Denis Sartakov:

дорогой друг, прекрасно все работает до сих пор

Дорогой Денис, я практически на 100% уверен что этот человек решил эту проблему задолго до появления на форуме вас и приведенной вами статьи

 
Комбинатор:

Дорогой Денис, я практически на 100% уверен что этот человек решил эту проблему задолго до появления на форуме вас и приведенной вами статьи

ну и слава богу.

 
Yuriy Zaytsev:

По большому счету надобности в DLL  уже нет.  Раньше, это применяли что бы как то защитить код ,  либо для ускорения каких либо процессов. MQL5 по большому счету имеет настолько приличное быстродействие , что смысла в применении DLL уже давно нет.

   На MQL5 можно написать практически все что необходимо для авто - трейдинга.

+++