Macro: Cd_Popup_Object
#PUSH !g
Register_Object !1_cd
Object !1 is a CD_Client
Function Popup_Handle Returns Handle
Handle hoID
Get Created_Object_Id to hoId
If (hoId=0) Begin
#SET G$ !a
Gosub !1_Sub!g
Move (!1_cd(Self)) to hoId
Set Created_Object_id to hoID
End
Function_Return hoID
End_Function
End_Object
[Found ~Found] Begin
!1_Sub!g:
// we want to pop G$ but the Begin has pushed R$ on to the stack. Therefore we must pop
// R$, then G$ and put R$ back up there
#POP R$
#POP G$
#PUSH !r
Object !1_cd !2 !3 !4 !5 !6 !7 !8 !9