Deutsch
Forum

Bug: thread.is (mit Workarout)

 
- Seite 1 -



p.specht
thread.is liefert lt. xpse-Seite momentan immer Null.
Gibt es Hinweise, warum das so ist? In Java, auch interpretierend, scheint der entsprechende Befehl thread.isalive zu funktionieren. Wo könnte ich oder jemand Berufenerer ansetzen?
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen...
30.11.2018  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Tjo, da habe ich wohl Mist gebaut.

Bitte mal diesen Workaround ansehen:
 
05.12.2018  
 




p.specht
JAU klappt - danke iF!
 {$cleqt}
Windowstyle 24
cls rgb(255,200,200)

nProc thread.is2(long thread)

    long cs=criticalsection.begin(str(thread))
    thread=long(thread,36)
    criticalsection.end(cs)
    return thread

endProc

var edit& =@Create("Edit",%Hwnd,"1",40,20, 140,20)
var edit2&=@Create("Edit",%Hwnd,"2",40,50, 140,20)
var edit3&=@Create("Edit",%Hwnd,"3",40,80, 140,20)
var thread& =thread.start(procaddr(meinThread), edit&, "1000")
var thread2&=thread.start(procaddr(meinZweiterThread), edit2&, "2000")
var thread3&=thread.start(procaddr(meinDritterThread), edit3&, "3000")
var n&=0
font 2
locate 15,1
Print " Theads werden der Reihe nach beendet mittels ESC-Taste!"
Print "\n Hauptprogramm nun in Hauptschleife!"

repeat

    locate 23,23:print n&:inc n&
    WindowTitle str$(n&)
    waitinput 100

until (%key=27) or (%key=2)

print "\n Hauptschleife wurde verlassen."
waitinput 1500
thread.stop(thread&)
::::::::::::::::::::::::::::::print thread.is2(thread&),

while thread.is2(thread&)

endwhile

:::::::::::::::::::::::::::::print thread.is2(thread&)
thread.close(thread&)
print "\n Habe Thread Nr. 1 beendet."
waitinput 1500
thread.stop(thread2&)

while thread.is2(thread2&)

endwhile

thread.close(thread2&)
print " Habe Thread Nr. 2 beendet."
waitinput 1500
thread.stop(thread3&)

while thread.is2(thread3&)

endwhile

thread.close(thread3&)
print " Habe Thread Nr. 3 beendet."
waitinput 1500
beep
print "\n Hier Hauptprogramm: Isch 'abe feddisch... BYEBYE!"
waitinput 3000
END

nproc meinThread :parameters thread&,dataLong&,dataString$

    whilenot thread.message(thread&)==wm_close

        settext(dataLong&,"["+time$(0)+"."+substr$(time$(1),1,".")+"]")
        sleep(1000)

    endwhile

    return 0

endproc

nproc meinZweiterThread :parameters thread2&,dataLong2&,dataString2$

    whilenot thread.message(thread2&)==wm_close

        settext(dataLong2&, "("+time$(1)+"."+substr$(time$(0),1,".")+")")
        sleep(1333)

    endwhile

    return 0

endproc

nproc meinDritterThread :parameters thread3&,dataLong3&,dataString3$

    whilenot thread.message(thread3&)==wm_close

        settext(dataLong3&, "{"+time$(0)+"."+substr$(time$(1),1,".")+"}")
        sleep(3000)

    endwhile

    return 0

endproc

 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen...
05.12.2018  
 



Alles klar,

wird im nächsten XPSE-Update (wann auch immer das erscheinen mag) dann auch enthalten sein - habs Thema mal angepinnt.
 
14.09.2020  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.452 Betrachtungen

Unbenanntvor 0 min.
Uwe ''Pascal'' Niemeier vor 14 Tagen
Uwe Lang vor 14 Tagen
Thomas Zielinski vor 18 Tagen
p.specht vor 23 Tagen
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

iF (2x)
p.specht (2x)


AGB  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Impressum  |  Mart  |  Support  |  Suche

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie