DEFINE CLASS bform1 AS bform Name = "Bform1" ADD OBJECT bcommandbutton1 AS bcommandbutton WITH ; Top = 168, ; Left = 228, ; Height = 36, ; Width = 84, ; Name = "Bcommandbutton1" PROCEDURE bcommandbutton1.Click #DEFINE dcEcho WAIT WINDOW dcEcho ENDPROC PROCEDURE bcommandbutton1.Init #DEFINE dcEcho "Test of dcEcho... define is in Init()" ENDPROC ENDDEFINEWhen you run the form and click the button, the wait window echos the dcEcho that was defined in the Init(). If I commented out the #DEFINE dcEcho in the Click event, it errored out (no suprise there). If I put a legitimate string after the #DEFINE dcEcho in the click event, sometimes VFP would run the string from the Init() DEFINE, other times it would run the string from the Click() DEFINE.