Hoi,
ik ben hier bezig met een applicatie die moet reageren op veranderingen in een nie lolale database. Dit proces wil ik op de achtergrond laten gebeuren zodat de user gewoon door kan werken.
ik ben hiervoor een thread aant bouwen die een component bezit die events uitspuugd als er iets veranderd in de database.
het probleem is dat deze events niet opgevangen worden als ik dit in een thread doe, doe ik het in het hoofdprogramma werkt dit wel goed.
de bedoeling is dat de thread gewoon blijft draaien en alleen wat operaties uitvoerd zodra hij zo'n event geeft.
ik zal hier ff de code van de thread Execute zetten:
of dat WaitFor het juiste commando is vraag ik me af.
ik heb een breakpoint gezet bij de code van nListenerNotify maar daar wil hij niet stoppen terwijl hij dat wel zou moeten doen.
merkwaardig is dat als ik daar in een loopje enkele MessageDlgs laat langskomen en ik laat tussen 2 Dlgs door iets veranderen in de db dat hij dan wel stopt bij die event.
heb ook al geprobeerd met een lege loop maar ook dat wil hij niet vreten.
iemand een idee hoe dit moet?
ik ben hier bezig met een applicatie die moet reageren op veranderingen in een nie lolale database. Dit proces wil ik op de achtergrond laten gebeuren zodat de user gewoon door kan werken.
ik ben hiervoor een thread aant bouwen die een component bezit die events uitspuugd als er iets veranderd in de database.
het probleem is dat deze events niet opgevangen worden als ik dit in een thread doe, doe ik het in het hoofdprogramma werkt dit wel goed.
de bedoeling is dat de thread gewoon blijft draaien en alleen wat operaties uitvoerd zodra hij zo'n event geeft.
ik zal hier ff de code van de thread Execute zetten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| procedure EventHandler.Execute; var nDbListener: TPSQLNotify; begin SetName; { Place thread code here } nDbListener := TPSQLNotify.Create(nil); nDbListener.Database := dmMain.dbTest; nDbListener.ListenList.Add('user_login'); nDbListener.OnNotify := nListenerNotify; nDbListener.Active := true; WaitFor end; |
of dat WaitFor het juiste commando is vraag ik me af.
ik heb een breakpoint gezet bij de code van nListenerNotify maar daar wil hij niet stoppen terwijl hij dat wel zou moeten doen.
merkwaardig is dat als ik daar in een loopje enkele MessageDlgs laat langskomen en ik laat tussen 2 Dlgs door iets veranderen in de db dat hij dan wel stopt bij die event.
heb ook al geprobeerd met een lege loop maar ook dat wil hij niet vreten.
iemand een idee hoe dit moet?