psp hat geschrieben:Das einzigste ist, dass ich eine XPPFATAL bekommen habe, in der ich nicht viel heraus lesen kann. In dem Thread vom Waechter führt er gerade ein Millisec(5000) aus. Die restlichen Threads sind beendet.
hm ... wenn ein Thread "beendet" ist sollte er nicht mehr auftauchen ...
die von dir angesprochene Zeitspanne ( = 5sec ?) dient vermutlich dazu eine "Aktion" auszulösen ? was macht er da ?
unter Xbase++ laufen Thread nicht nur immer auf der selben CPU sondern benutzen auch den selben Speicher Raum wie die Application.
Ein Thread der "ungeschützt" abstürzt könnte also die gesamte Application beeinflussen ... also nicht unbedingt für Zeit "kritische" Sachen benutzen
evtl. wäre ein Ansatz von Pablo hier besser : TRunProcess Class
ein Thread ist ja wie ein eigener Process z.b. mit eigener WorkSpaceList() den man per Parameter starten könnte.
die TRunProcess Class enthält o:
wait(nTime) und o
:kill() womit man nun überprüfen kann ob ein Process noch läuft oder ggf. schliesst.
jeder Process läuft aber in seinem eigenen Speicher Bereich was auch bedeutet das sie "so" noch nicht miteinander "kommunizieren" können.
um einen Process "anzusprechen" benötigt man das Handle welcher von der TRunProcess Class "verwaltet" wird
damit kann man nun, per
SendMessageA(WM_COPYDATA, ...), einen String von einem Process zu jedem anderen Process schicken.
p.s. Frage : wie gross darf der String sein ? Antwort : how much RAM do you have
psp hat geschrieben:Code: Alles auswählen
FATAL ERROR LOG
Not recoverable Error!
SYS Thread-ID: 700
Module: EH
Error Codes: EH: 900 Sub: 0(0) OS: 0 XPP: 0
die
EH Meldungen betreffen dein Error Handler. verwendest du
BEGIN / SEQUENCE ?