• 窗体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;
  • 相关阅读:
    python3内置函数大全
    字符串格式化及函数
    基础数据和编码
    python基本数据类型
    python基础
    python re模块
    python json模块
    python os模块
    python random模块
    python time模块
  • 原文地址:https://www.cnblogs.com/rogge7/p/5945225.html
Copyright © 2020-2023  润新知