Français
Forum

nProc et Neuzeichnen - Messages

 
- page 1 -



E.T.
plan so aufgefallen: Ist mon Xprofan-Programme im nProc am travailler, wird es z.B. par "Neuzeichnen"  aus dem Tritt gebracht. "Neuzeichnen"  tritt oui toujours sur, si cela Prog-la fenêtre verkleinert, verdeckt ou bien déménagé wird (verdeckt z.B. par Bildschirmschoner ).
Pour solch einem Event scheind mon nProc endlos avec cela beschäftigt trop son, cela la fenêtre récente zeichnen trop voulons. et ca ewig, avec qui Eieruhr pour völlige Auslastung. aussi qui Messages à qui poutre-Montrer erzielen keinerlei Wirkung plus. Selbst cela System-menu wird wirr, avant dem nProc habe je z.B. cela [X] pour "Programm schließen" deaktiviert, cet ist ensuite wieder aktiv.
Solange je cela la fenêtre pas verdecke ou bien verschiebe, fonctionne cela nProc klaglos par, avec dem entier normalen flèche comme Mauszeiger....

Beispiel meiner nProc:
KompilierenMarqueSéparation
nProc Vergleichen

    global Liste1&,  Liste2&, Liste4&, Zaehler1&, Zaehler2&, Status&, ProgressBar_3&, ProgressBar_4&
    Declare Verg_Dat_1$, Verg_Dat_2$, Vergl_Str1$, Vergl_Str2$, Vergl_Pass&, Pos_L1&

    WhileLoop 0,Zaehler1&

        Vergl_Str1$ = GetText.Listview(Liste1&, &loop, 0)
        Verg_Dat_1$ = GetText.Listview(Liste1&, &loop, 1)

        WhileLoop 0,Zaehler2&

            Vergl_Str2$ = GetText.Listview(Liste2&, &loop, 0)

            If Vergl_Str1$ = Vergl_Str2$

                Verg_Dat_2$ = GetText.Listview(Liste2&, &loop, 1)

                IfNot Verg_Dat_1$ = Verg_Dat_2$

                    Inc Vergl_Pass&
                    AddString(Liste4&, Verg_Dat_1$ + "|" + Verg_Dat_2$)

                EndIF

            EndIf

            Sendmessage(ProgressBar_4&,$0400+2,int(100.0/Float(Zaehler1&)*Float(&loop)),0)

        EndWhile

        Sendmessage(ProgressBar_4&,$0400+2,0,0)
        Sendmessage(ProgressBar_3&,$0400+2,int(100.0/Float(Zaehler1&)*Float(&loop)),0)

    EndWhile

ENDPROC


Ist oui arrêt ne...aucune so komplizierter Code, lediglich cela comparer vieler Cordes sur Übereinstimmung (fonctionne arrêt doch comme nProc vieeel plus rapide comme dans XProfan..)
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
12.11.2010  
 



 
- page 2 -


« cette Beitrag wurde comme Solution gekennzeichnet. »

- page 3 -


allez doch comment im Beispiel*:
KompilierenMarqueSéparation
'URL: https://xprofan.com/intl/de/xpse/nproc-und-neuzeichnen-messages/#bottom
 {$cleq}
cls
long myThread=createThread(0,0,procAddr(eineProc),hWnd,0,0),b
print "fertig"

while 1

    waitinput 1000
    getExitCodeThread(myThread,addr(b))
    case b==123456 : break

wend

print "allesfertig"
end

nProc eineProc(long some)

    whileLoop 2

        setText(some,str$(getTickCount))
        sleep(1000)

    wend

    return 123456//oder exitThread(123456) wenn an beliebiger Stelle Thread abgewürgt werden soll wie "end 123456"

endProc


*XP-getestet - hab ici seulement XP.
 
13.11.2010  
 




E.T.
eh bien bien. Bleibt mir seulement encore cela Neuzeichnen aus dem nProc heraus.
Hab là keinen plan, habs avec si thread.message(HDC)=wm_paint  probiert, allez pas. Hab là chez dem Assembler-Zeugs soviel Ahnung comment vom Kinder-kriegen .
peux Du mir , s'il te plaît, si du Zeit et Lust la hâte, sur qui Sprünge aider ??
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
13.11.2010  
 



E.T. (13.11.10)
eh bien bien. Bleibt mir seulement encore cela Neuzeichnen aus dem nProc heraus.


je mon ca wäre qui falsche Weg! Grundsätzlich wäre ca arrêt un Call sur qui wndProc avec den 4 Params hWnd,wm_paint,0,0 ... et qui wndProcAddr gibts oui per getWindowLong(hWnd,gwl_wndProc ... mais comment dit halte je cela pour ne "falsche Lösung".

quoi spricht car dagegen cela Du Votre Proc - qui là arrêt "ewig" dauert - per CreateThread aufrufst statt "normal"?
 
13.11.2010  
 




E.T.
iF (13.11.10)
quoi spricht car dagegen cela Du Votre Proc - qui là arrêt "ewig" dauert - per CreateThread aufrufst statt "normal"?


Weil dans dem Prog eh aucun quoi faire peux (soll), solange cela comparer fonctionne. Würde car ensuite cela HWND den Neuzeichnen-Befehl mitbekommen, wärend es sur den anderen Fil wartet (soryy, je stell mich wohl quelque chose blöd à...)
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
13.11.2010  
 



E.T. (13.11.10)

iF (13.11.10)
quoi spricht car dagegen cela Du Votre Proc - qui là arrêt "ewig" dauert - per CreateThread aufrufst statt "normal"?


Weil dans dem Prog eh aucun quoi faire peux (soll), solange cela comparer fonctionne.


So comment je cela verstanden habe stimmt ca mais pas, car es soll oui qui L'assurance-chômage-Fil neuzeichnen et pas "nichts" 1faire. ^ ^

E.T. (13.11.10)
Würde car ensuite cela HWND den Neuzeichnen-Befehl mitbekommen, wärend es sur den anderen Fil wartet (soryy, je stell mich wohl quelque chose blöd à...)


Denkst vlt. seulement trop compliqué. tu as momentan arrêt 1 Fil et vouloir mais cela cette 2 Dinge "zugleich" tut - quoi "natürlich" pas qui le cas ist. ^ ^
 
13.11.2010  
 



étiez je fummel Dir quoi... <-- ließt oui zum Glück aucun...
 
13.11.2010  
 



exposition la fois si Dir quelque chose comme hilft...
KompilierenMarqueSéparation
13.11.2010  
 



Echten Fil "unendlich" longtemps ackern laisser sans L'assurance-chômage-Fil trop "blockieren":
KompilierenMarqueSéparation
So peux doch simple "Aufgaben"/ Threads anweisen et qui volonté appétissant im Hintergrund abgearbeitet sans cela Du toi kümmern müsstest... (nProcs sommes doch threadsicher ^ ^)
 
13.11.2010  
 




E.T.
Super, cela erstere sieht pour mich so aus, comme serait es faire, quoi je cherche.

Muss je doch juste qui anderen Sachen ruhen laisser et einbauen et testen (et derweil wieder quoi sur Call's et ProcAddr dans Assembler apprendre) ...

sur jeden le cas déjà la fois un großes DANKE pour Votre Mühe!!!
et wenns klappt, ensuite ...
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
13.11.2010  
 



E.T. (13.11.10)
Super, cela erstere sieht pour mich so aus, comme serait es faire, quoi je cherche.


Ihgitt s'il te plaît prends abers 2.... cela Erste est un übler Stinkschuh! ^ ^
 
13.11.2010  
 




E.T.
SO, je komm qui l'affaire näher: seulement wird maintenant cela comparer aufgerufen et cela XProfan-Prog rennt plus, es mais devrait "warten"(ou bien warten>nachschauen si vergl. fertig>ggf. la fenêtre aktualisieren>warten), si comparer déjà fertig.
Würde oui penser avec Fil.Is(lThread) , mais steht oui chez XPSE "fehlerhaft"...
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
13.11.2010  
 



exposition la fois hierzu nützliche APIs: [...] 

simple avec GetExitCodeThread regarder si qui Fil encore fonctionne ou bien avant dem Ende qui ThreadProc per SendMessage ne UserMessage expédier um den Hauptprogramm quelque chose "mitzuteilen" ou bien simple per Retour-Wert aus qui Fil-Proc den ThreadExitCode festlegen ou bien per ExitThread ThreadExitCode à beliebiger Stelle dans qui ThreadProc festlegen:
KompilierenMarqueSéparation
'URL: https://xprofan.com/intl/de/xpse/nproc-und-neuzeichnen-messages/#bottom
 {$cleq}
cls
long myThread=createThread(0,0,procAddr(eineProc),hWnd,0,0),b
print "fertig"

while 1

    waitinput 1000
    getExitCodeThread(myThread,addr(b))
    case b==123456 : break

wend

print "allesfertig"
end

nProc eineProc(long some)

    whileLoop 2

        setText(some,str$(getTickCount))
        sleep(1000)

    wend

    return 123456//oder exitThread(123456) wenn an beliebiger Stelle Thread abgewürgt werden soll wie "end 123456"

endProc

 
13.11.2010  
 




E.T.
Hm, GetThreadID()  wäre là wohl quoi, mais seulement ab VISTA [...]  . Muss mais sous XP courir...
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
13.11.2010  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

23.566 Views

Untitledvor 0 min.
iF05.12.2018
p.specht07.01.2018
Ernst07.05.2016
funkheld28.04.2016
plus...

Themeninformationen

cet Thema hat 3 participant:

iF (15x)
E.T. (10x)
unbekannt (2x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie