war eigentlich ganz stolz, daß ich es geschafft habe eine Laufschrift in einem eigenen Thread zu erzeugen, die solange durchläuft bis der eigentliche Prozess beendet ist. In diesem Fall ist es eine Auflistung von Daten, die in eine Listbox geschrieben werden. Da dies relativ viel Datensätze sind (ca 5000) dauert das ca 10 Sek. Um dem Kunden zu signalisieren, daß der Prozess noch läuft, sollte die Laufschrift unten angezeigt werden.
Das tut Sie auch. Nur soll sich diese auch wieder beenden, wenn der Lade-Prozess fertig ist. Das tut sie aber nicht. Was mache ich da falsch??
Aufruf:
Code: Alles auswählen
oThread2:Start( "MELDUNG", drawingArea, oThread2:threadID, "" )
FUNCTION MELDUNG( drawingArea, id, stopp)
LOCAL xpos := 900
//MsgBox("Meldung -> "+ALLTRIM(STR(id)) )
//MsgBox("stopp -> "+stopp )
// id = ThreadId (nur zur Kontrolle)
// "stopp" wird als CHR übergeben am Ende des Ladeprozesses
oXbp := XbpStatic():new(drawingArea, , {xpos,10}, {350,25},{{XBP_PP_FGCLR, GRA_CLR_DARKGREEN}, { XBP_PP_COMPOUNDNAME, "14.ARIAL Fett" } } )
oXbp:create()
DO WHILE stopp <> "stopp"
IF xpos <=10
xpos := 900
ENDIF
oXbp:configure(drawingArea, , {xpos,10}, {300,25} )
oXbp:setCaption("Bitte einen Augenblick Geduld ...")
xpos-=5
inkey(.05)
ENDDO
oXbp:destroy()
RETURN( NIL )