TEmbeddedwb的一个小bug

2016-02-19 14:18 29 1 收藏

图老师小编精心整理的TEmbeddedwb的一个小bug希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】

 这几天不知道是不是人品出了问题,老是遇上一些小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://www.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://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1606673.html

延伸阅读
标签: 十二星座 星座
声音与性格 。其实,声音也是了解一个人性格的重要凭据。研究自己的发声习惯,或者是听听四周亲友的声音,看看是否可印证声如其人?是否 声音与性格 也有着莫大的关系。 声音与性格 测试题目:那么,你的声音是那一种呢? A:声音沙哑 B:嗲声嗲气 C:声音沉稳温和 D:爱说话而且速度快 声音与性格 选A的人 强硬派 个性强烈,一...
摘要 Visual C++ 是Microsoft编程工具中的老大,它功能强大,使用它几乎可以开发Windows平台上的任何程序。但同时由于其功能强大,涉及面广而让人很难进入VC++的门槛。由于是Microsoft开发工具的拳头产品,发布前都要经过严格的测试,同时不断地升级维护,因此,其中常用的功能很难发现Bug,一旦存在Bug则很难解决。 关键词 Visual C++; ...
《实况足球2012》发现一个bug赢球方法 用这招至少可以立于不败之地,2011就有,挺赖的: 方法:只要1比0领先,就可在任何时间回传给后卫,后卫带球到靠近本方边线或角旗附近,带到位置时点R2把球彻底停住,面朝对方半场,这样做的话等于消耗时间,绝对不败,但各种难度下有区别:一,顶级难度对方前锋每隔一段时间还是会出一脚抢球的,但由于面...
标签: 电脑入门
原来这是使用 Windows 7 内建的校正颜色 (Calibrate Color) 功能引起的问题。使用这个校正颜色功能后会产生一个 ICC 配置文件,之后 Windows 7 会采用它为默认显示,一旦使用校正颜色定义了这个 ICC 配置文件后,用 Windows 照片查看器时速度会变得像在爬行般的慢,只要删除这个 ICC 配置文件就会恢复正常。 如果你遇到这个问题又须要用到校...
多花时间陪孩子 感情是需要时间去培养的,也需要发费精力的,这两点很重要。若是有时间,可以都和孩子一起玩玩小游戏或者是和孩子多一些其他的互动,其实很简单,多听听孩子说话,和他们多聊聊天,这样他们会记住,爸爸是爱我的,会记住这些小细节。要是你总是说自己很忙,找一些借口说没有时间,孩子总会有一种被你们忽视的感觉,就会...

经验教程

517

收藏

18
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部