All pastes #19280 Raw Edit

Miscellany

public text v1 · immutable
#19280 ·published 2005-08-04 09:16 UTC
rendered paste body
for (i;i<frmMain->CheckListBoxTrovati->Items->Count && stopmail==false && !Terminated;i+=4)
        {
                while (frmMain->CheckListBoxTrovati->Checked[i]==false && i<frmMain->CheckListBoxTrovati->Items->Count-1 )
                        i++;
                if (i == frmMain->CheckListBoxTrovati->Items->Count-1 )
                        break;
                else
                {
                        AssegnaUrl(i);

                        ThreadCercaEmail1 *CercaEmail1;
                        ThreadCercaEmail1 *CercaEmail2;
                        ThreadCercaEmail1 *CercaEmail3;
                        ThreadCercaEmail1 *CercaEmail4;

                        if (ListaUrl->Count > 0)
                        {
                                CercaEmail1 = new ThreadCercaEmail1(true,ListaUrl->Strings[0]);
                                if (maxThreads)
                                {
                                        criticNumThreadEmail->Acquire();
                                        try
                                        {
                                                numThreads++;
                                        }
                                        __finally
                                        {
                                                criticNumThreadEmail->Release();
                                        }
                                }
                                CercaEmail1->Resume();
                        }

                        if (ListaUrl->Count > 1)
                        {
                                CercaEmail2 = new ThreadCercaEmail1(true,ListaUrl->Strings[1]);
                                if (maxThreads)
                                {
                                        criticNumThreadEmail->Acquire();
                                        try
                                        {
                                                numThreads++;
                                        }
                                        __finally
                                        {
                                                criticNumThreadEmail->Release();
                                        }
                                }
                                CercaEmail2->Resume();
                        }
                        if (ListaUrl->Count > 2)
                        {
                                CercaEmail3 = new ThreadCercaEmail1(true,ListaUrl->Strings[2]);
                                if (maxThreads)
                                {
                                        criticNumThreadEmail->Acquire();
                                        try
                                        {
                                                numThreads++;
                                        }
                                        __finally
                                        {
                                                criticNumThreadEmail->Release();
                                        }
                                }
                                CercaEmail3->Resume();
                        }
                        if (ListaUrl->Count > 3)
                        {
                                CercaEmail4 = new ThreadCercaEmail1(true,ListaUrl->Strings[3]);
                                if (maxThreads)
                                {
                                        criticNumThreadEmail->Acquire();
                                        try
                                        {
                                                numThreads++;
                                        }
                                        __finally
                                        {
                                                criticNumThreadEmail->Release();
                                        }
                                }
                                CercaEmail4->Resume();
                        }

                        //CercaEmail1->WaitFor();
                        Application->ProcessMessages();

                        if (maxThreads && numThreads > maxThreads)
                        {
                                if (ListaUrl->Count > 0)
                                        CercaEmail1->WaitFor();
                                if (ListaUrl->Count > 1)
                                        CercaEmail2->WaitFor();
                                if (ListaUrl->Count > 2)
                                        CercaEmail3->WaitFor();
                                if (ListaUrl->Count > 3)
                                        CercaEmail4->WaitFor();
                        }
                }
        }
        if (stopmail)
                restartEmail=i;

        while (!Terminated && stopmail==false && numSiti<totSiti)
        {
                Application->ProcessMessages();
                ::Sleep(2000);
        }