Prozesse + UserMessages

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Prozesse + UserMessages

      Manchmal wäre es ja wichtig, wenn ein Prozess
      das Hauptprogramm über etwas informiert.
      Z.B. wenn der Prozess turnusmäßige Aufgaben
      in einer Schleife ausführt und bei jedem Durchlauf
      das Hauptfenster informieren möchte.

      Quellcode

      1. Declare Handle Gridbox1
      2. Declare Int ende
      3. WindowTitle "Ende auch mit ESC !"
      4. Window 800, 600
      5. Gridbox1 = @Create("Gridbox", %HWnd, "Name;0;120;Wert 1;0;80;Wert 2;0;80", 0, 10, 80, 300, 200)
      6. ende = 0
      7. pExec("|Werte", %HWnd, Gridbox1)
      8. UserMessages 1001
      9. Locate 1, 2
      10. Print "Ende auch mit ESC"
      11. WhileNot ende
      12. WaitInput
      13. If %UMessage = 1001
      14. SetText %HWnd, "Gridbox " + Str$(&UwParam) + " mal aktualisiert !"
      15. EndIf
      16. Case %Key = 2 : ende = 1
      17. Case %Key = 27 : ende = 1
      18. EndWhile
      19. Proc Werte
      20. Parameters Handle Win, Grid
      21. Declare Int ende1, a, b
      22. ende1 = 0
      23. a = 0
      24. b = 0
      25. Randomize
      26. WhileNot ende1
      27. If GetText$(Win) <> ""
      28. Inc a
      29. AddString(Grid, "Werte :|" + Str$(Rnd(100)) + "|" + Str$(Rnd(1000)))
      30. If a > 10
      31. a = 0
      32. ClearList Grid
      33. Inc b
      34. SendMessage(Win, 1001, b, 0)
      35. EndIf
      36. EndIf
      37. Sleep 200
      38. case getText$(Win) = "" : ende1 = 1
      39. EndWhile
      40. EndProc
      41. UserMessages 0
      42. End
      Alles anzeigen


      Auch das FileMapping wäre da zu nennen, wenn
      der Prozess etwa in eine Map schreibt und wenn
      er fertig ist, das Programm informiert, damit dieses
      etwa die Map auslesen kann.

      Vielleicht kann es jemand ja gebrauchen.