Another possibility is to use _SCREEN.ActiveForm.Name provided that there really is an active form in existence.
>John
>
>thisform.Name
>
>You can also send an argument to the program() function to find all of the names on the current stack.
>
>>I've got an error-handling routine set up, and want to pass the name of the current form to it. The VFP Help file says to use the "program()" function to do this, but when I pass that value to my error-handling routine, I don't get the name of the form I was in when the error happened...I get the name of a control. For example, when I click a command button to do something in customers.scx, and an error is generated, "program()" passes "form1.cmgsave" instead of "customers.scx." How do I get "customers.scx" to be passed to the error routine? There's probably something simple here, but I'm just not finding in my own.