• 窗体Showmedol 遇到的奇怪异常: cannot make a visible window model


    //窗体Showmedol 遇到的奇怪异常: cannot make a visible window  model
    //背景:ShowModal A窗体,A窗体再ShowModal B窗体;A是透明背景窗体,B是提示窗体;
    
    //第一次使用该全局变量,使用完毕后,FreeAndNil,目的是不影响第二次使用(和重新初始化属性)
     if not Assigned(frmAd) then
                frmAd := TfrmAd.Create(nil);
              frmAd.SetUrl(r46002.Data.URL);
              if not Assigned(FrmChangePWTransparent) then
                FrmChangePWTransparent:=TFrmChangePWTransparent.Create(nil);
              FrmChangePWTransparent.fPopupForm :=frmAd;
              //FrmChangePWTransparent.FormStyle := fsNormal;
              //FrmChangePWTransparent.Visible := False;
              FrmChangePWTransparent.ShowModal;
              FreeAndNil(FrmChangePWTransparent);
    
    //第二次使用
     if not Assigned(frmRemind) then
            frmRemind := TfrmRemind.Create(nil);
          if not Assigned(FrmChangePWTransparent) then
            FrmChangePWTransparent:=TFrmChangePWTransparent.Create(nil);
          FrmChangePWTransparent.fPopupForm :=frmRemind;
          //FrmChangePWTransparent.FormStyle := fsNormal;
          //FrmChangePWTransparent.Visible := False;
          FrmChangePWTransparent.ShowModal;   //弹出透明窗体
          FreeAndNil(FrmChangePWTransparent);
    //但是会弹出异常 cannot make a visible window  model ,
    //百度了解:http://blog.sina.com.cn/s/blog_4b5f4fbc0100kt5p.html
    //修改:加多两句,如上面去掉注释。
        FrmChangePWTransparent.FormStyle := fsNormal;
        FrmChangePWTransparent.Visible := False;
    //还是无法解决问题。
    
    //解决:后来想既然是 make a visible window  model,猜想第一次使用完后 FrmChangePWTransparent 全局变量没有完全释放【很奇怪】,
    //别人就 另立 一个变量,解决问题。经验呀。
    
        var FrmTransparent: TFrmChangePWTransparent;
        
        if not Assigned(frmRemind) then
            frmRemind := TfrmRemind.Create(nil);
          if not Assigned(FrmTransparent) then
            FrmTransparent:=TFrmChangePWTransparent.Create(nil);
          FrmTransparent.fPopupForm :=frmRemind;  //
          FrmTransparent.FormStyle := fsNormal;
          FrmTransparent.Visible := False;
          FrmTransparent.ShowModal;   //弹出透明窗体
          FreeAndNil(FrmTransparent);
  • 相关阅读:
    Spring MVC实现QQ第三方登录 博客分类: spring
    Ajax Post提交事例及SpringMVC注解@RequestMapping取不到参数值解决办法
    js注册检测 用户名、密码、手机号、邮箱
    SpringMVC介绍之Validation
    菜鸟级springmvc+spring+mybatis整合开发用户登录功能(上)
    通过Ajax post Json类型的数据到Controller
    基于SpringMVC与jquery的ajax提交表单的若干情况详解
    jquery ajax提交表单数据的两种方式
    SpringMVC 返回字符串
    后台数据库优化——板机
  • 原文地址:https://www.cnblogs.com/rogge7/p/5889527.html
Copyright © 2020-2023  润新知