ich melde mich wieder mal mit meinem alten Problem der Laufschrift ("Bitte warten ...."), die in einem eigenen Thread läuft. Das Thema hatten wir schon in dem Thread -> "Static Objekt in Funktion wird nicht gelöscht" ...
Das hat auch alles schön funktioniert, dummerweise habe ich es nur immer mit einer Auswertung probiert, die auch ein Ergebnis geliefert hat. Jetzt ist mir aufgefallen, daß die Laufschrift nur beim ersten Mal erscheint, d.h. ich starte eine Auswertung -> Laufschrift läuft. Beim nächsten Aufruf (vorher Funktion beendet) erscheint die Laufschrift nicht mehr. Warum? Beim Neuaufrufen der Funktion müßte doch der Thread wieder neu gestartet werden?
Code: Alles auswählen
FUNCTION LISTE_DRUCKEN()
oThread2:Start( "MELDUNG", drawingArea, oThread2:threadID )
DO CASE
Code
.
.
Code
ENDCASE
MELDUNGSTOP(.T.)
RETURN(NIL)
FUNCTION MELDUNG( drawingArea, id) // <-- LISTE_DRUCKEN() - (149)
LOCAL xpos := 600
//MsgBox("Meldung -> "+ALLTRIM(STR(id)) )
// id -> nur zur Kontrolle des Threads
//
oXbp := XbpStatic():new( drawingArea, , {xpos,10}, {500,25},{{XBP_PP_FGCLR, 13}, { XBP_PP_COMPOUNDNAME, "14.ARIAL Fett" } } )
oXbp:create()
DO WHILE !MeldungStop()
IF xpos <=10
xpos := 600
ENDIF
oXbp:SetPos({xpos,10})
oXbp:setCaption("Bitte einen Augenblick Geduld, Daten werden geladen ...")
xpos-=3
inkey(.2)
ENDDO
oXbp:destroy()
RETURN( NIL )
// ENDFUNCTION MELDUNG()
FUNCTION MeldungStop(lSet) // <-- LISTE_DRUCKEN() 3313 (.T. wenn Stopp)
STATIC lStop := .F.
IF PCount()>0
lStop := lSet
ENDIF
RETURN lStop
// ENDFUNCTION MeldungStop(lSet)