Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File15.2.2 Aufrufroutine TOS Hier eine allgemeine Routine zum Aufruf von BubbleGEM in Pseudocode. bubblegem:=appl_find('BUBBLE '); if bubblegem<0 then begin pfad:=GetEnv('BUBBLEGEM'); if length(pfad)>0 then begin { BubbleGEM nachstarten, ID in bubblegem merken } if bubblegem>=0 then evnt_timer(500,0) end end; if bubblegem<0 then exit; { BubbleGEM nicht gefunden -> Abbruch} StrPCopy(bubblebuf,hilfetext); msg[0]:=BUBBLEGEM_SHOW; msg[1]:=apID; msg[2]:=0; msg[3]:=mx; msg[4]:=my; msg[5]:=integer(HiWord(bubblebuf)); msg[6]:=integer(LoWord(bubblebuf)); msg[7]:=0; if unmodaler_Aufruf then begin appl_write(bubblegem,16,@@msg); evnt_timer(100,0) end else begin { Aufruf aus einem systemmodalen Dialog heraus: } if not(GetCookie('BGEM',bgemcookie)) then Bing { Fehler } { modaler Aufruf nur möglich, wenn BGEM-Cookie vorhanden } else begin msg[7]:=msg[7] or BGS7_USRHIDE; appl_write(bubblegem,16,@@msg); evnt_timer(10,0); graf_mkstate(dummy,dummy,ms,dummy); if (ms and 3)=0 then { keine Maustaste gedrückt? } begin bclicks:=258; bmask:=3; bstate:=0 end else begin bclicks:=0; bmask:=3; bstate:=0 end; if not(GetCookie('BHLP',delay)) then delay:=200 else delay:=(delay shr 16) and 0x0000ffff; graf_mouse(USER_DEF,bgemcookie->mhelp); evnt_timer(delay,0); evnt_multi(MU_KEYBD or MU_BUTTON or MU_M1, bclicks, bmask, bstate, 1, mX-6, mY-6, 13, 13, 0, 0, 0, 0, 0, msg, 0, 0, dummy, dummy, ms, dummy, dummy, dummy); msg[0]:=BUBBLEGEM_HIDE; msg[1]:=apID; msg[2]:=0; msg[3]:=0; msg[4]:=0; msg[5]:=0; msg[6]:=0; msg[7]:=0; appl_write(bubblegem,16,@@msg); graf_mouse(ARROW,NULL) end; repeat graf_mkstate(dummy,dummy,ms,dummy) until (ms and 3)=0 end;