Avatar billede sumsar-- Nybegynder
05. januar 2004 - 16:15 Der er 2 kommentarer

Borland c++ progressbar og batchmove spørgsmål

Jeg har et projekt, hvor jeg har tilføjet 2 TTable, desuden har jeg en TBatchMove komponent. Når jeg Execute() på mit batchmove vil jeg gerne have at der er noget i min applikation der indikerer at den er igang med at udføre min batchmove. Det er nemlig en ret stor database jeg kopierer fra BDE til MySQL. Og dem der bruger programmet, kan ikke se om den er færdig med at køre batchmove't.
Jeg havde forestillet mig en TProgressBar, men bare der er en indikering af at batchmov'en ikke er færdig endnu. Håber i forstår mit problem, ellers spørg løs.
Nogen ideer?
Avatar billede susrn Nybegynder
07. januar 2004 - 09:30 #1
er progressbar er god løsning når du ikke kan indikere hvor langt processen er kommet? Istedet kunne du sætte formens cursor til "crHourGlass" inden du kalder execute og tilbage igen bagefter
Avatar billede coldplay Nybegynder
08. januar 2004 - 09:07 #2
Prøv at bruge en try/catch blok, som håndterer exceptions (undtagelser). Ideen er at fange fejlbehæftede poster, der befinder sig i tabellens sidste række.

De fejlbehæftede post tilføjes forud for den
egentlige batch. Dernæst eksekveres batch, som fremkalder en exception, når de fejlbehæftede poster nås.

Dennne exception kan nu bruges til at gøre brugeren opmærksom på, at batch sekvensen er afsluttet.

//****************************************************

try
{
    TBatchMove *batch = new TBatchMove();
    batch->AbortOnProblem = true;
    .
    /* udfør batch sekvens */
    .
    .
    /* fejlbehæftede poster detekteres */
}
catch(EDatabaseError &error)
{
    .   
    .
    /* informer bruger om afslutning af batch */
    .
    .
    delete batch;
}
catch(...)
{
    .
    .
    delete batch;
    .
    .   
    throw;
}

//*****************************************************
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester