Example #1
0
        public FrmMain()
        {
            InitializeComponent();
            prices        = new double[0];
            volumes       = new double[0];
            orderTypes    = new String[0];
            panel1.Paint += new PaintEventHandler(panel1_Paint);
            panel2.Paint += new PaintEventHandler(panel2_Paint);
            FrmConnect connectFrm = new FrmConnect(this);

            connectFrm.Show();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            listenerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            listenerSocket.Bind(new IPEndPoint(IPAddress.Parse("0.0.0.0"), (int)numericUpDown1.Value));
            listenerSocket.Listen(1);
            FrmConnect threadClose = this;
            Thread     t           = new Thread(() =>
            {
                if (label2.InvokeRequired)
                {
                    label2.BeginInvoke((MethodInvoker) delegate
                    {
                        label2.Text = "Status: Listening @ " + ((int)numericUpDown1.Value).ToString() + "...";
                    });
                }
                else
                {
                    label2.Text = "Status: Listening @ " + ((int)numericUpDown1.Value).ToString() + "...";
                }
                bridgeSocket = listenerSocket.Accept();
                MessageBox.Show("MetaTrader 5 Connected!");
                this.callback.setBridgeSocket(bridgeSocket);
                if (this.callback.InvokeRequired)
                {
                    this.callback.BeginInvoke((MethodInvoker) delegate
                    {
                        this.callback.Show();
                    });
                }
                else
                {
                    this.callback.Show();
                }
                if (threadClose.InvokeRequired)
                {
                    threadClose.BeginInvoke((MethodInvoker) delegate
                    {
                        threadClose.Hide();
                    });
                }
                else
                {
                    threadClose.Hide();
                }
            });

            t.Start();
        }