Article View: es.comp.lenguajes.c++
Article #15RE: Problemon con Builder y Access
From: salvador
Date: Wed, 08 Nov 2000 00:00
Date: Wed, 08 Nov 2000 00:00
70 lines
3811 bytes
3811 bytes
Gracias por la respuesta, lo probar� cuanto antes lo de adquire y release (aunque me temo que, efectivamente, unos llaman a los otros, no se si me van a resolver el problema). En cuanto a la pregunta, tanto el TDatabase como el TQuery son propiedades de la clase que me he creado, que al final es la clase que utilizar�n los threads para acceder a la BD, vamos que los componentes de la BD no est�n en ning�n form. Sin embargo, para el form principal s� tengo unos componentes bd, pero en principio s�lo los utilizo para inicializar ciertos datos al principio del programa, y adem�s he comprobado que s�lo accedo a trav�s de la secci�n cr�tica. Podr�a resultar esto alg�n problema? > yo siempre he utilizado acquire antes de entrar en una seccion critica > y release cuando la dejas, y siempre me ha funcionado, aunque la ayuda dice > que enter y leave hacen lo mismo, prueba a cambiarlos por adquire y release. > > una pregunta, el componente bd esta en un form ? o pertenece al thread ? > > y tambien debes poner > try > CriticalSection.adquire > /// codigo > Finally > CriticalSection.release > end; > > Tal vez es lo que te esta pasando, has de asegurarte que la secci�n critica > se libera. > > > > salvador <sfonten@jazzfree.com> escribi� en el mensaje de noticias > IJDN5.5$T9.131110@news.jazztel.es... > > A ver si alguien me puede echar una mano (me estoy desesperando): > > > > Estoy con un programa muti-thread en Builder que cada tread tiene que > > acceder a la Base de Datos en Access. Como los componentes de acceso a la > BD > > no son "thread safe" (al menos si la BD es Access), se supone que solo > puede > > haber un thread a la vez utilizando los compontes de BD. > > > > He creado una clase paara que cada acceso a la BD de cada thread entre por > > una secci�n cr�tica (TCriticalSection) com�n a todos los threads. Seg�n > > creo, esto se supone que deber�a de funcionar, no? pues revienta la > > aplicaci�n, normalmente al consultar el valor RecordCount (siempre a > trav�s > > de la secci�n cr�tica). > > > > Mosqueado por esto me he echo una aplicaci�n de prueba con 4 threads que > > acceden simult�neamente a una consulta prefijada y la muestran por > pantalla, > > pero accediendo a los componentes de BD a trav�s de un procedure con la > > llamada 'Synchronice'. Esto s� funciona. > > > > Repet� esta �ltima aplicaci�n haciendo lo mismo, pero en vez del > > 'Synchronice', con una variable TCriticalSection ... y fall�, esta vez no > > daba un fallo de memoria, si no un thread, pasado un tiempo, entraba en la > > secci�n cr�tica entraba y no sal�a (y ten�a siempre un Enter/Leave de la > > secci�n cr�tica.). > > > > Algui�n sabe que est� pasando????????, se me est�n agotando las ideas. > >
Technical Details
Message-ID:
<7xkO5.78$T9.458849@news.jazztel.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<IJDN5.5$T9.131110@news.jazztel.es> <NKUN5.5513$Jn2.140914@telenews.teleline.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 111a5a,1bd1163b8806c0fa X-Google-Attributes: gid111a5a,public X-Google-Thread: f53ec,1bd1163b8806c0fa X-Google-Attributes: gidf53ec,public X-Google-Thread: 109585,1bd1163b8806c0fa X-Google-Attributes: gid109585,public From: "salvador" <noimporta@jazzfree.com> Subject: RE: Problemon con Builder y Access Date: 2000/11/08 Message-ID: <7xkO5.78$T9.458849@news.jazztel.es> X-Deja-AN: 691386687 References: <IJDN5.5$T9.131110@news.jazztel.es> <NKUN5.5513$Jn2.140914@telenews.teleline.es> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 X-Complaints-To: newsmaster@jazztel.com X-Trace: news.jazztel.es 973722819 212.106.237.19 (Wed, 08 Nov 2000 23:33:39 CET) Organization: Jazztel X-MSMail-Priority: Normal NNTP-Posting-Date: Wed, 08 Nov 2000 23:33:39 CET Newsgroups: es.comp.lenguajes.c++,es.comp.bd.ms-access,es.comp.lenguajes.delphi