Ładny brzuch

Hej. Mam problem z uyciem w/w klasy w programie z kilkoma wtkami. Po prostu nie wiem gdzie (w gwnym wtku? w kadym z osobna? globalnie? w klasie?) i jak uy sekcji krytycznej w wtkach.

IMHO powinno to wyglda np. tak:

1. W wtku GWNYM tworz globalny obiekt:
#include "SyncObjs.hpp" TCriticalSection *CrSec; CrSec = new TCriticalSection(); //to umieszczam przed wywolaniem wtku, np. w Button1Click(TObject*)

2. W utworzonym wtku POBOCZNYM w sekcji Execute() umieszczam np. taki kod:

for (int i = 0; i < 50000; i++)   {          CrSec->Acquire();                    Form1->Label1->Caption = i;          if (Terminated) Free();                    CrSec->Release(); }

Ale po uruchomieniu progam si wyp****a gdy dojdzie do linijki "CrSec->Acquire();"
Jak temu zaradzi? Co robi le? Google i fora nie zawieraj odpowiedzi na mj problem.

EDIT:
Prbowaem te uy "CrSec->Enter" zamiast Acquire itp - efekt ten sam. Bd pojawia si ju w pierwszym wejciu do ptli (i = 0):

Help please.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •