[archimedes] Re: Wie richtig auf Reason-Codes reagieren?

  • From: Carlos Michael Santillan <ml-archimedes@xxxxxxxxxx>
  • To: archimedes@xxxxxxxxxxxxx
  • Date: Sun, 19 Oct 2014 17:04:25 +0200

On 19 Oct 2014  "Anton Reiser" <anton-reiser@xxxxxxxxxxx> wrote:
>So läuft es bei mir:
>  wimp_poll_flags mask=0;
>  do {
>    event = wimp_poll(mask, &block, NULL);
>  } while (event == wimp_NULL_REASON_CODE);
>
>  return 0;


Was passiert wenn das Programm ein Symbol auf der Iconbar hat und man
dann draufklickt?

Warum muss RISC OS _jedes Mal_ wenn nichts anderes zu tun ist in die
do/while Schleife springen? In der Zeit könnte ein anderes Programm
etwas sinnvolles tun. Mit einer vernüftigen Maske übergibt RISC OS dem
Programm erst die Kontrolle, wenn eins der erwünschten Ereignisse (siehe
Maske) für das Programm kommt.

Wenn es nur um das Beenden geht würde es auch reichen RISC OS zu sagen:
Ruf mich nur auf wenn das Ereignis Beenden kommt. Wenn ich mich jetzt
nicht verklickt habe sollte die Maske 538995 (Hex: 83973) haben und dann
braucht es auch wieder das Array um User Message und User Message
Recorded auszuwerten.

Wimp_Poll, PRM 3 ab Seite 115. Ja, das ist eine Menge zu lesen, aber die
Wimp_Poll ist das zentrale Element eines Multitasking Programmes unter
RISC OS.

Wenn ich mich richtig erinnere muss man immer Redraw Window behandeln.
Dann muss noch Bit 1 in der Maske gesetzt sein und das in der
Pollschleife behandelt werden. Da müßte ich aber jetzt selber nachlesen.
:-)



Carlos Michael Santillán

--
http://www.arcsite.de/
http://www.risc-os.de/

Ein Staat, in dem alle verdächtig sind, ist selbst verdächtig
A state that suspects everyone is itself suspicious

Other related posts: