loProcess=CREATE('RR') loProcess.ShowMessage() DEFINE CLASS RR AS Custom lFirstTry=.F. FUNCTION ShowMessage loProcess.xx() MESSAGEBOX('ShowMessage1') ENDFUNC FUNCTION xx COUNT FOR x=z *SELECT * FROM CONTACT WHERE IRegion=lnRegion INTO CURSOR TEMP MESSAGEBOX('ShowMessage22') ENDFUNC FUNCTION Error PARAMETER nError,cMethod,nLine MESSAGEBOX('TEST') if !empty(alias()) and NOT This.lFirstTry select 0 retry this.lFirstTry = .T. endif This.lFirstTry=.F. RETURN TO ShowMessage ENDFUNC ENDDEFINEWe assume a table is already open. What this gives, is that I get the TEST message. Then, VFP pops up the open table dialog.