我的DLL里面有二个窗体 diaolog1 diaolog2 
   diaolog1 在被程序 调用后直接会显示出来。然后上面有个按扭 点了隐藏1 显示 2
我的代码如下
CLoginForm *MyForm;      //.....上面是一个验证的代码,成功就会执行下面的操作。有时候因为网络问题,会卡几秒。
PMyMainDlg = new CMainForm;
PMyMainDlg->Create(IDD_DIALOG2,NULL);
while (PMyMainDlg->IsWindowVisible()==false)
{
PMyMainDlg->ShowWindow(SW_SHOW);
Sleep(100);
}

MyForm->ShowWindow(SW_HIDE);
现在的问题是,有时候  PMyMainDlg不显示  也就是2号dialog .有时候 会显示。所以我用循环不停的判断有没有显示。但是有的时候 他还是显示不出来,不知道哪里错了。请各位指点下。