zoukankan      html  css  js  c++  java
  • 窗体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);
  • 相关阅读:
    img的srcset和sizes属性作用
    屏幕尺寸,分辨率,像素,PPI之间到底什么关系
    img 的 srcset、sizes 属性和 picture 元素
    收房细则
    购买雅居乐湖居笔记不得不知。
    Andoird Studio 错误: 非法字符: 'ufeff' 解决方案。
    解决mysql 1040错误Too many connections的方法
    Android布局优化之include、merge、ViewStub的使用
    美国人、英国人、中国人一生都是如何度过
    Android常用正则工具类
  • 原文地址:https://www.cnblogs.com/rogge7/p/5889527.html
Copyright © 2011-2022 走看看