Beispiel #1
0
    /// <summary>
    /// Adds method to be invoked when event raised.
    /// </summary>
    /// <typeparam name="T">The event associated with the event delegate.</typeparam>
    /// <param name="del">The method to be stored and invoked if the event is raised.</param>
    public void AddListener <T>(EventDelegate <T> del) where T : GameEvent
    {
        // Create non-generic delegate.
        InternalDelegate internalDelegate = (e) => del((T)e);

        // If event method already stored, return.
        if (delegateLookup.ContainsKey(del) && delegateLookup[del] == internalDelegate)
        {
            return;
        }

        // Store in delegate lookup for future checks.
        delegateLookup[del] = internalDelegate;

        // Store delegate in method lookup (invoked when event raised).
        // If delegates already contains an event of type T then the event is added to that
        // else the event is stored in a new position in the dictionary.
        InternalDelegate tempDel;

        if (delegates.TryGetValue(typeof(T), out tempDel))
        {
            delegates[typeof(T)] = tempDel += internalDelegate;
        }
        else
        {
            delegates[typeof(T)] = internalDelegate;
        }
    }
 private void btnGetAllDataBases_Click(object sender, EventArgs e)
 {
     if (cmbSqlServers.Items.Count > 0 &&
         txtPassword.Text.Trim().CompareTo(string.Empty) != 0 &&
         txtUserName.Text.Trim().CompareTo(string.Empty) != 0)
     {
         ticker.Start();
         btnGetAllDataBases.Enabled = false;
         this.Cursor = Cursors.WaitCursor;
         cmbAllDataBases.Items.Clear();
         sqlInfo.SQLServer = cmbSqlServers.Text.Trim();
         sqlInfo.Username  = txtUserName.Text.Trim();
         sqlInfo.Password  = txtPassword.Text.Trim();
         MessageBox.Show("You may get the list sql servers if user name and password are not correct.", "Information",
                         MessageBoxButtons.OK, MessageBoxIcon.Information,
                         MessageBoxDefaultButton.Button1, 0, false);
         intlDelg = new InternalDelegate(sqlInfo.EnumerateSQLServersDatabases);
         called   = CallFor.SqlDataBases;
         intlDelg.BeginInvoke(new AsyncCallback(CallBackMethod), intlDelg);
     }
     else
     {
         MessageBox.Show("No sql servers loaded or user name or password empty...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, 0, false);
     }
 }
Beispiel #3
0
        public void AddListener <T>(Delegate <T> del) where T : GameEvent
        {
            if (lookups.ContainsKey(del))
            {
                return;
            }

            // the delegate we actually invoke, it automatically casts the event using lambda expression
            InternalDelegate internalDelLookUp = (e) => del((T)e);

            lookups[del] = internalDelLookUp;

            InternalDelegate internalDel;

            delegates[typeof(T)] = delegates.TryGetValue(typeof(T), out internalDel) ? internalDel += internalDelLookUp : internalDelLookUp;
        }
        public FrmReportBuilder()
        {
            InitializeComponent();
            btnUpdate.Enabled         = false;
            sqlInfo                   = new SQLInfoEnumerator();
            grpDataManipulate.Enabled = false;
            btnLoadSqlServers.Select();
            btnLoadSqlServers.Focus();
            prgProgress.Minimum = 0;
            prgProgress.Maximum = 200;
            ticker          = new System.Timers.Timer();
            intlDelg        = new InternalDelegate(sqlInfo.EnumerateSQLServers);
            ticker.Elapsed += new ElapsedEventHandler(ticker_Elapsed);
            ticker.Interval = 250;
            cmbNoOfRecords.SelectedIndex = 0;
            btnFirst.Enabled             = false;
            btnPrevious.Enabled          = false;
            btnNext.Enabled        = false;
            btnLast.Enabled        = false;
            btnAdd.Enabled         = false;
            btnUpdate.Enabled      = false;
            btnDelete.Enabled      = false;
            cmbNoOfRecords.Enabled = false;

            cmbSqlServers.Items.Add(MyModules.ServerName);
            cmbSqlServers.Text = MyModules.ServerName;


            txtUserName.Text = MyModules.UserID;
            txtPassword.Text = MyModules.Password;
            cmbAllDataBases.Items.Add(MyModules.AttachName);
            cmbAllDataBases.Text = MyModules.AttachName;
            chkWinAuthen.Checked = MyModules.IntegratedSecurity;


            object    sender = null;
            EventArgs e      = null;

            //  btnGetAllDataBases_Click(sender, e);

            btnGetAllTables_Click(sender, e);

            cboCriteria.SelectedIndex = 1;
        }
Beispiel #5
0
    public CriAudioWriteStream(Delegate callback, int numChannels, int bufferSize = 256)
    {
        float[][] buffer = new float[numChannels][];
        for (int channel = 0; channel < numChannels; channel++)
        {
            buffer[channel] = new float[bufferSize];
        }

        this.internalDelegate = (IntPtr cbobj, IntPtr data, uint numSamples) => {
            if (numSamples > bufferSize)
            {
                numSamples = (uint)bufferSize;
            }
            for (int channel = 0; channel < numChannels; channel++)
            {
                Marshal.Copy(Marshal.ReadIntPtr(data, IntPtr.Size * channel), buffer[channel], 0, (int)numSamples);
            }
            numSamples = callback(buffer, numSamples);
            return(numSamples);
        };
        this.callbackFunction = Marshal.GetFunctionPointerForDelegate(this.internalDelegate);
    }
Beispiel #6
0
 public Form1()
 {
     InitializeComponent();
     btnUpdate.Enabled = false;
     sqlInfo = new SQLInfoEnumerator();
     grpDataManipulate.Enabled = false;
     btnLoadSqlServers.Select();
     btnLoadSqlServers.Focus();
     prgProgress.Minimum = 0;
     prgProgress.Maximum = 200;
     ticker = new System.Timers.Timer();
     intlDelg = new InternalDelegate(sqlInfo.EnumerateSQLServers);
     ticker.Elapsed += new ElapsedEventHandler(ticker_Elapsed);
     ticker.Interval = 250;
     cmbNoOfRecords.SelectedIndex = 0;
     btnFirst.Enabled = false;
     btnPrevious.Enabled = false;
     btnNext.Enabled = false;
     btnLast.Enabled = false;
     btnAdd.Enabled = false;
     btnUpdate.Enabled = false;
     btnDelete.Enabled = false;
     cmbNoOfRecords.Enabled = false;
 }
Beispiel #7
0
 private void btnGetAllDataBases_Click(object sender, EventArgs e)
 {
     if (cmbSqlServers.Items.Count > 0 &&
         txtPassword.Text.Trim().CompareTo(string.Empty) != 0 &&
         txtUserName.Text.Trim().CompareTo(string.Empty) != 0)
     {
         ticker.Start();
         btnGetAllDataBases.Enabled = false;
         this.Cursor = Cursors.WaitCursor;
         cmbAllDataBases.Items.Clear();
         sqlInfo.SQLServer = cmbSqlServers.Text.Trim();
         sqlInfo.Username = txtUserName.Text.Trim();
         sqlInfo.Password = txtPassword.Text.Trim();
         MessageBox.Show("You may get the list sql servers if user name and password are not correct.", "Information",
             MessageBoxButtons.OK, MessageBoxIcon.Information,
             MessageBoxDefaultButton.Button1, 0, false);
         intlDelg = new InternalDelegate(sqlInfo.EnumerateSQLServersDatabases);
         called = CallFor.SqlDataBases;
         intlDelg.BeginInvoke(new AsyncCallback(CallBackMethod), intlDelg);
     }
     else
     {
         MessageBox.Show("No sql servers loaded or user name or password empty...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, 0, false);
     }
 }