Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#39

Re: Threads und BackgroundWorker

  Alt 14. Mär 2008, 17:26
Zitat von Luckie:
Puh. Also so habe ich es jetzt und so geht es auch:
Nein, ist falsch.
Du registrierst am Ende ThreadFinish als Handler für einen falsch benannten Event: OnThreadFinishHandler.
Das macht doch keinen Sinn?
Du würdest den EVENT am Ende feuern, und irgendjemand hätte sich für den registriert.
Code:
private void ThreadProc()
{
    try
    {
        for (int i = 0; i < 100000; i++)
        {
            Invoke(new MethodInvoker(thread_Event));
            Thread.Sleep(0);
        }
        ThreadFinishEventHandler h = this.ThreadFinished; // so sollte der Event heißen
        if(h != null)
          Invoke(h, this);
    }
    finally
    {
        SetStatusTextDelegate sd = SetStatusText;
        Invoke(sd, resManager.GetString("ThreadStatusFinish"));              
    }
}
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat