TEmbeddedwb的一个小bug

狂野风神之怒

狂野风神之怒

2016-02-19 14:18

图老师小编精心整理的TEmbeddedwb的一个小bug希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~
 这几天不知道是不是人品出了问题,老是遇上一些小bug。
      昨天在公司里写了一个有浏览网页代码的小程序,图方便,使用的是TEmbeddedwb控件,这个控件在delphi自带的TWebBrowser控件上又提供了一些选项和方法。
      拿回家以后打开这个工程,在打开浏览页面窗口的时候却出错了:“Error Creating Form:'' is not a valid floating point value”。这个窗口上没有其他控件,就只有TEmbeddedWB控件,看情况应该是打开窗口时装载该控件时出的错,而错误应该是发生在作字符转换到float型时出现的。
      新建一个工程,放上一个TEmbeddedWB控件,灭有问题啊。关掉后再打开,问题重现了。
      打开EmbeddedWB.pas单元,首先查找StrToFloat函数,呵,还好,只有两个地方用到,一看都是在GetPrintValues函数用的,函数内容如下:
  procedure TembeddedWB.GetPrintValues;
  var
    S: string;
    regWinRegistry: TRegistry;

    function ReadMargin(key: string): Real;
    begin
      S := RegwinRegistry.ReadString(key);
      S := Stringreplace(S, ' ', '', [rfReplaceAll]);
      if DecimalSeparator '.' then
        S := Stringreplace(S, '.', DecimalSeparator, []);
      if Printoptions.Measure = mMetric then
        result := StrtoFloat(S) * InchToMetric else
        result := StrtoFloat(S);
    end;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  begin
    regWinRegistry := TRegistry.Create;
    try
      with regWinRegistry do begin
        RootKey := HKEY_CURRENT_USER;
        if OpenKey('SoftwareMicrosoftInternet ExplorerPageSetup', False) then
        begin
          PrintOptions.Header := Readstring('header');
          PrintOptions.Footer := ReadString('footer');
          PrintOptions.Margins.left := ReadMargin('margin_left');
          PrintOptions.Margins.right := ReadMargin('margin_right');
          PrintOptions.Margins.top := ReadMargin('margin_top');
          PrintOptions.Margins.bottom := ReadMargin('margin_bottom');
        end;
      end;
    finally
      regWinRegistry.Free;
    end;
  end;
  
      这个函数是在注册表中去取IE的打印设置,打开注册表一看,果然没有'margin_left'这四个项,加上这四个字符串值,并赋上初值0。打开窗口。OK。高兴之余也不禁感慨,这个xp的操作系统装上以后还灭怎么摧残过,照理这四个键不是偶搞掉的,也就说系统装上就没有的,到底是microsoft人品有问题还是偶人品有问题已经不重要了,可是偶现在才明白,原来大师的程序也有bug啊,为什么不用StrToFloatDef函数哩?
      今天在公司机器上一看,果然有这四个键,每个值为0.75。
  
      小bug一个,仅作记录,以供有同样情形的同志参考。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

TEmbeddedwb的一个小bug

编程语言 网络编程
TEmbeddedwb的一个小bug

《黑道圣徒2》一个有趣的小bug

电脑网络
《黑道圣徒2》一个有趣的小bug

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

《巫师2》发现一个任务bug

电脑网络
《巫师2》发现一个任务bug

《幕府将军2》一个可以利用的外交小bug

电脑网络
《幕府将军2》一个可以利用的外交小bug

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

《英雄传说:零之轨迹》操控上的一个小bug

电脑网络
《英雄传说:零之轨迹》操控上的一个小bug

发现《英雄传说:零之轨迹》操控上的一个小bug

电脑网络
发现《英雄传说:零之轨迹》操控上的一个小bug

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

CSS在IE和Firefox兼容要点分析

CSS在IE和Firefox兼容要点分析

Delphi中MIDAS线程模型种类(MIDAS之四)

Delphi中MIDAS线程模型种类(MIDAS之四)
下拉加载更多内容 ↓