Español
Foro

Kommunikation nproc <> %HWnd

 

E.T.
Können nproc y la ventana principal miteinander kommunizieren ??

Teilweise ya, denk Yo: Ein Fortschrittsbalken en el HWND se vom nproc correcto "fortgeschritten" (por SendMessage a el Balken). Also puede Balken y nproc "miteinander reden".

Aber sobald el HWND una vez verdeckt war, passiert nix mehr (leeres, weißes Ventana). Lo kommt no Aktualisierung la ventana mehr !!

Muss Yo ahora el Ventana incluso (z.B. por Message) a neuzeichnen auffordern ?? 

Ähnlich verhält se el Ventana-Menü: En klick el Cruz (Schließen) sagt el Profano-Prog: "Keine Rückmeldung", si en el nproc es.

Muss Yo z.B. todos Menüs en el nproc otra vez auswerten ?? 

Fragen encima Fragen...
 
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...
14.04.2010  
 



¡Hola E.T.,

es así simplemente, lo son así gesehen no hay diferencia, si Usted de Proc oder NProc heraus arbeitest.

Usted puede bastante "normal" en NProcs con Handles spielen, como Windows y XProfan vorsieht.

Etwas schwierig se lo sin embargo, si de Hilos heraus con Handles spielen willst, el aber por otro Hilo producido fueron - hier erlauben el verschiedenen Windows-Versionen unterschiedlich.

>> Muss Yo ahora el Ventana incluso (z.B. por Message) a neuzeichnen auffordern ??

Nein, bastante normal - como sonst auch - o. "garnicht".

>> Muss Yo ahora el Ventana incluso (z.B. por Message) a neuzeichnen auffordern ??

Nein, sólo, si lo por Proc auch würdest.

>> Ähnlich verhält se el Ventana-Menü: En klick el Cruz (Schließen) sagt el
>> Lo profano;-Prog: "Keine Rückmeldung", si en el nproc es.

Es doch auch "normal" y no anders, como si se el Programa en uno Proc befindet.

Vlt. kommt en uno Proc no es igual el Anzeige, dass el Prozess no rückmeldet, porque XProfan todos X Zeilen Nachrichtenabrufe zwischenschiebt - aber hier reagiert sí "XProfan" "abweichend".

>> Fragen encima Fragen...

El Yo todos gerne beantworten möchte, simplemente en auch incluso sehen a puede, si y wo todavía Schwachstellen disponible son.

Wenn algo konkretes no klappt, wovon Usted aber media, dass lo trabajo debería, entonces simplemente fix una pequeña Code puesto, dass Yo ggf. handeln kann. ^ ^
 
14.04.2010  
 




E.T.
Hab veces al MB gebastelt:
KompilierenMarcaSeparación
 {$IQ}
 {$CLQ}
Def @Createwindowex(12) !"USER32","CreateWindowExA"
Def @Setparent(2) !"USER32","SetParent"
Declare Status&, St_Bereich#, Progress&, Classname$

Proc Status_Progress

    Dim ST_Bereich#, 8
    Long ST_Bereich#,0 = Width(%HWnd)-100, -1
    Status& = @Create("StatusWindow",%HWND,"",2,St_Bereich#)
    SetText Status&, 0, "Warte"
    SetText Status&, 1, Date$(0)
    Classname$="msctls_progress32"
    Progress&=@Createwindowex(0,@Addr(Classname$),0,$40000000,3,@Height(%HWnd)-50,@Width(%HWnd) - 6,25,%Hwnd,0,%Hinstance,0)
    @Setparent(Progress&,%HWnd)
    @Showwindow(Progress&,1)

Endproc

Proc Durchlauf_1

    Whileloop 1000

        sleep 10
        @Sendmessage(Progress&,$0400+2,100/1000*(&loop+1),0)

    EndWhile

    @Sendmessage(Progress&,$0400+2,0,0)

EndProc

nProc Durchlauf_2

    global Progress&

    Whileloop 1000

        ~RedrawWindow(%HWnd, 0, 0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)
        ~RedrawWindow(Progress&, 0, 0, ~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_UPDATENOW | ~RDW_INTERNALPAINT)
        sleep(10)
        Sendmessage(Progress&,$0400+2,int(100.0/Float(1000)*Float(&loop)),0)

    EndWhile

    Sendmessage(Progress&,$0400+2,0,0)

EndProc

Window 800,120
WindowTitle "nProc - Message - Test"
CLS ~Getsyscolor(15)
Status_Progress
SetText Status&, 1, "Arbeite..."
SetText Status&, 0,  "Durchlauf 1 ...bitte warten !!"
Durchlauf_1
SetText Status&, 0,  "Durchlauf 1 (PROC) Fertig !!"
Sleep 500
SetText Status&, 0,  "Durchlauf 2 (nPROC) ...bitte warten !!"
Durchlauf_2()
SetText Status&, 0,  "Durchlauf 2 (nPROC) Fertig !!"
SetText Status&, 0,  "Warte..."
waitinput
Dispose ST_Bereich#
=s4 href='./../../funktionsreferenzen/XProfan/end/'>end

Solange el Prog en el Durchlauf_1 (Proc), kann Yo el Ventana cualquier verdecken, mover etc., XProfan kümmert se sí ums neuzeichnen.

Im Durchlauf_2 (nProc) se después de mehrmaligem "verdecken" la ventana simplemente nix mehr aktualisiert, incluso el ~RedrawWindow(%HWnd...  scheind no mehr anzukommen. Bleibt el Ventana el todo Tiempo sichtbar, flackerts natürlich muy schön (al auswerten de %wmpaint en el nproc bin Yo gescheitert ).

Wer "verschluckt" el neuzeichnen (nproc ?, XProfan ?, Windows ?) ??

(Getestet bajo XP)
 
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...
14.04.2010  
 



Unwichtig aber en lugar de Global sería Yo Progress& simplemente como Funktionsparameter transferencia - para Problema: Usted machst en el Principio 1000 veces Sleep(10) - en dieser Tiempo es el Prozess/ (Haupt)Hilo sprichwörtlich "beschäftigt" o. dank Sleep incluso "gesperrt" - Windows se como kaum el Möglichkeit haben, el Ventana para dibujar, auch porque el UI-Anzeige bastante passiv de Windows abgearbeitet o. versetzt entonces, si grad Tiempo es.

Quasi gibst Usted Windows en dieser Bucle no Chance, lo reagiert hier "korrekt" o. como esperado - si auch vlt. no necesariamente "wie erwünscht". ^ ^

Hier sería Yo más por ~SetTimer-Api en una NProc zeigen, el sólo simplemente sólo el SendMessage absetzt, sin Bucle.

Salopp gesprochen: Machst Usted also de uno XProfan-Función heraus lauter SetText, así kannst Usted wohl nebenher zuschauen - machst Usted dies de uno NProc heraus - así va dies así fix, dass Windows-UI no hinterherkommt, besonders auch porque no z.B. todos "20 Zeilen" Noticias abgeholt/ verarbeitet voluntad pero tatsächlich sólo el getan se, qué angewiesen es.

Ein Irrglaube es vlt. auch, dass Sleep el Prozess/ Hilo "Zeit" son - tatsächlich es más así, dass Sleep el Tiempo stiehlt, porque en dieser Tiempo el Hilo más "totgestellt" es.
 
14.04.2010  
 




E.T.
Hab Yo wohl el MB "etwas doof" gestaltet:
Im richtigen Progg es natürlich kein sleep , tener Yo sólo en el MB instalado, así uno Tiempo para testen ha. Eigentlich führe Yo en el Bucle (viele,viele) String-Vergleiche por. Der Effekt es pero la gleiche como con sleep.

Wünschenswert wäre me una simplemente Abfrage ala
KompilierenMarcaSeparación
Aber komm Yo en el nProc a %wmpaint vom XProfan-Ventana ran ?? Yo denk, entonces wäre me geholfen
Dann debería Yo Windows no en cada Schleifen-Durchlauf con uno Neuzeichnen - Message "zuballern".
 
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...
15.04.2010  
 



>> Im richtigen Progg es natürlich kein sleep , tener Yo sólo en el MB instalado,
>> así uno Tiempo para testen ha.

Yo verstehe, sólo, dass eben Sleep hier eigentlich no Tiempo schenkt pero sólo welche kostet - also diesem Hilo no Tiempo schenkt, algo a erledigen. ^ ^

>> Eigentlich führe Yo en el Bucle (viele,viele) String-Vergleiche por. Der Effekt
>> es pero la gleiche como con sleep.

Klar, si Usted tausende Male s$=s$+"Hallo" machst, oder Sleep(... en beiden Fällen es el Hilo no con Fensterzeichnerei beschäftigt.

>> Aber komm Yo en el nProc a %wmpaint vom XProfan-Ventana ran ?? Yo denk, entonces wäre me geholfen

%wmPaint se vlt. de el WProc gesetzt, si sólo el Nachricht wm_paint ankam - Usted könntest simplemente el hWnd subclassen - pero la Weg se sí siempre länger así.

>> Dann debería Yo Windows no en cada Schleifen-Durchlauf con uno Neuzeichnen -
>> Message "zuballern".

Von una GetMessage etc. Yo bisher abgesehen, porque Yo z.B. no gestackte Mensajes del usuario abtragen möchte - Yo lasse me algo einfallen.
 
15.04.2010  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.880 Views

Untitledvor 0 min.
p.specht19.10.2018
funkheld28.04.2016
Ernst18.03.2016
Peter Max Müller01.10.2014
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

iF (3x)
E.T. (3x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie