Die Anleitung zu BubbleGEM
Wie rufe ich BubbleGEM auf? Programmer's guide
Aufruf von BubbleGEM
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;