窗体Showmedol 遇到的奇怪异常-->进阶问题
procedure SetTransparentForm (popupFrm:TForm;Color:TColor;AlphaBlendValue:Integer);
var FrmTransparent: TFrmTransparentForm;
begin
if not Assigned(FrmTransparent) then
FrmTransparent:=TFrmTransparentForm.Create(nil);
FrmTransparent.fPopupForm :=popupFrm; //
FrmTransparent.Color :=TColor(Color); //clTeal;//
FrmTransparent.AlphaBlendValue:=AlphaBlendValue;
FrmTransparent.FormStyle := fsNormal;
FrmTransparent.Visible := False;
FrmTransparent.ShowModal; //弹出透明窗体
FreeAndNil(FrmTransparent);
end;
//以上代码在 exe中没有任何问题,当把代码移到公共包中后:
//出现局部变量赋值异常(线程或主进程调用),各种调试测试,发现奇葩问题点,做以下调整和解释:
//局部变量和全局变量 若不首先赋值 :=nil 都会有异常。
procedure SetTransparentForm (popupFrm:TForm;Color:TColor;AlphaBlendValue:Integer);
var FrmTransparent: TFrmTransparentForm;
begin
//------------方法一
FrmTransparent := nil;//用私有变量,若没有此句,此段会异常,估计局部变量引起的 。^_^
if not Assigned(FrmTransparent) then
FrmTransparent:=TFrmTransparentForm.Create(nil);
FrmTransparent.fPopupForm :=popupFrm; //
FrmTransparent.Color :=TColor(Color); //clTeal;//
FrmTransparent.AlphaBlendValue:=AlphaBlendValue;
FrmTransparent.FormStyle := fsNormal;
FrmTransparent.Visible := False;
FrmTransparent.ShowModal; //弹出透明窗体
FreeAndNil(FrmTransparent);
//------------方法二
{FrmTransparentForm:=nil; //用全局变量,没有此句 会偶尔出现 cannot make a visible window model;估计线程原因。
if not Assigned(FrmTransparentForm) then
FrmTransparentForm:=TFrmTransparentForm.Create(nil);
FrmTransparentForm.fPopupForm :=popupFrm; //
FrmTransparentForm.Color :=TColor(Color);
FrmTransparentForm.AlphaBlendValue:=AlphaBlendValue;
FrmTransparentForm.FormStyle := fsNormal;
FrmTransparentForm.Visible := False;
FrmTransparentForm.ShowModal; //弹出透明窗体
FreeAndNil(FrmTransparentForm); }
end;
窗体Showmedol 遇到的奇怪异常-->进阶问题的更多相关文章
- 窗体Showmedol 遇到的奇怪异常: cannot make a visible window model
//窗体Showmedol 遇到的奇怪异常: cannot make a visible window model //背景:ShowModal A窗体,A窗体再ShowModal B窗体:A是透明背 ...
- 3.Java异常进阶
3.JAVA异常进阶 1.Run函数中抛出的异常 1.run函数不会抛出异常 2.run函数的异常会交给UncaughtExceptionhandler处理 3.默认的UncaughtExceptio ...
- 从GridView中直接导出数据到Excel文件 处理导出乱码 类型“GridView”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。”的异常
导出到Excel方法: <span style="color: rgb(0, 0, 255);">public</span> <span style= ...
- PyQt通过resize改变窗体大小时ListWidget显示异常
前几天开始的pygame音乐播放器Doco,做的差不多了,上午做到了歌词显示和搜索页面.遇到bug,即通过resize改变ui大小时ListWidget显示异常 #目的: 增加一部分窗口用来显示歌词和 ...
- [转]Eclipse下开发Struts奇怪异常:org.apache.struts.taglib.bean.CookieTei
今天早上开始在Eclipse下学习struts,于是按照李兴华老师的<struts入门视频教程>一步一步地充满快乐的学习,等把登陆程序写完,打开浏览器准备运行的时候,奇怪的异常产生了,异常 ...
- C#解决关闭多线程的form主窗体时抛出ObjectDisposedException 异常
一.现象: 我在主窗体新建线程,使用子线程来处理接收到的数据,并且更新窗体显示内容,但关闭主窗体程序之后就程序就报错,如下所示: 二.分析问题: 由于新建线程的处理函数里边是一直死循环处理数据,虽然窗 ...
- ArcGIS Server SOE开发之奇怪异常:
添加之后结果显示如下:fjsontokenezkBvir0Tj5q31UEst7pTFPwrwocmHklCajKeh-xXM91qWdBXDuQMmtGcaHaaXCJ 具体如下: 该SOE扩展在另 ...
- ArcEngine奇怪异常:HRESULT:0x80040351
错误如图 根据该博客,http://blog.csdn.net/u011609113/article/details/51155116, 显示该错误为Duplicate Field Names wit ...
- awk 的一个奇怪异常
awk: cmd. line:1: (FILENAME=- FNR=192) fatal: print to "standard output" failed (No space ...
随机推荐
- 【学习笔记】Struts2之一个Action包含多个控制处理逻辑
一.使用Action的动态方法调用 如果一个页面包含多个按钮,系统分别提交给Action的不同方法处理.此时可以采用DMI(Dynamic Method Invocation,动态方法调用)来 ...
- 通过transform修改位置 大小 旋转 形变
--通过transform修改位置(平移)- CGAffineTransformMakeTranslation(**X偏移量**, **Y偏移量**);- CGAffineTransformTrans ...
- getPx function
function getPX(str){ return str.substring(0,str.indexOf('px'));}
- Cvim的安装与使用
一.安装cvim插件 第一步:下载cvim的安装包 在linux系统下的浏览器firefox.chrome浏览器中打开下面链接 www.vim.org/scripts/download_script. ...
- 基础的jdbc连接数据库操作
首先我们知道在数据库中,我们可以直接写sql或者直接通过数据库工具操作数据,但是在java程序中我们是不能直接操作数据库数据的,所以这就引入了jdbc操作. 百度百科:JDBC(Java Data B ...
- input事件与change事件
输入框的change事件: 必须等到输入框失去焦点的时候才会触发,鼠标在空白的地方点一下: 输入框的input事件: 在输入内容变化的同时,实时的触发,不需要等到失去焦点.
- Java并发1——线程创建、启动、生命周期与线程控制
内容提要: 线程与进程 为什么要使用多线程/进程?线程与进程的区别?线程对比进程的优势?Java中有多进程吗? 线程的创建与启动 线程的创建有哪几种方式?它们之间有什么区别? 线程的生命周期与线程控制 ...
- iOS Architectures 浅谈
iOS项目打包,或者只是在项目里面调用第三方静态库抑或是自己新建一个静态库,就要无可避免的和Architectures打交道.Architectures在Targets面板的Build Setting ...
- Asp.Net 数据库连接字符串
<configuration> <connectionStrings> <add name="DefaultConnection" providerN ...
- vs2013在使用ReportView11时遇到的问题
最近在做项目中用到2013中的ReportView11 在本机IIS中使用完全没问题 但是放到服务器上总是出问题 解决办法:(1)首先在自己机器上开发的时候 是不用引用 Microsoft.R ...