Home Aufruf von BubbleGEM Aufruf von BubbleGEM Zeitgesteuerter Aufruf
 Die Anleitung zu BubbleGEM
 Wie rufe ich BubbleGEM auf? Programmer's guide
 Aufruf von BubbleGEM

Aufrufroutine

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);
pipe[0]:=BUBBLEGEM_SHOW;
pipe[1]:=apID;
pipe[2]:=0;
pipe[3]:=mx;
pipe[4]:=my;
pipe[5]:=integer(HiWord(bubblebuf));
pipe[6]:=integer(LoWord(bubblebuf));
pipe[7]:=0;
if unmodaler_Aufruf then
  begin
    appl_write(bubblegem,16,@pipe);
    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
        pipe[7]:=pipe[7] or BGS7_USRHIDE;
        appl_write(bubblegem,16,@pipe);
        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 $0000ffff;
        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, pipe,
          0, 0, dummy, dummy, ms, dummy, dummy, dummy);
        pipe[0]:=BUBBLEGEM_HIDE;
        pipe[1]:=apID;
        pipe[2]:=0;
        pipe[3]:=0;
        pipe[4]:=0;
        pipe[5]:=0;
        pipe[6]:=0;
        pipe[7]:=0;
        appl_write(bubblegem,16,@pipe);
        graf_mouse(ARROW,NULL)
      end;
    repeat
      graf_mkstate(dummy,dummy,ms,dummy)
    until (ms and 3)=0
  end;


Home Aufruf von BubbleGEM Aufruf von BubbleGEM Zeitgesteuerter Aufruf