>>It is solved, because I have Set fMDIForm = New frmMDIMain, therefore the
>>MDI form name should be fMDIForm instead of frmMDIMain.
>>I learned the method of assigning a form into another name, like the above
>>example. What are the advantages of doing in this way, rather then calling
>>the form directly? As I learned this method from other people's applications.
There are a few advantages -- first, if you want to create the form but not show it (i.e., Initialize it but not Load it) this can be quite useful. Also, this allows you to create multiple instances of the same SDI form with different names. And finally, it lets you name the form explicitly (note that when you use the Load command, VB implictly creates a public variable with the same name as your form's name, anyway, behind-the-scenes).
The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts. - Bertrand Russell