PB有个隐藏BUG会占用内存。影响效率。

先来做个样例吧

(1)创建一个不可视对象n_base,勾选Autolnstantiate属性

初始化事件constructor里面写messagebox('constructor','PB-BUG--constructor')

销毁事件destructor里面写messagebox('destructor','PB-BUG--destructor')

(2)创建一个窗体w_1

(3)w_1封装一个方法of_test_bug1里面写

if 1=1 then

else

 n_base ln_base

end if

(4)w_1封装一个方法of_test_bug2里面写

n_base ln_base

(5)w_1放置一个buttoncb_1点击里面写

if 1=1 then

else

 n_base ln_base

end if

(6)w_1放置一个buttoncb_2点击里面写

of_test_bug1()

(7)w_1放置一个buttoncb_3点击里面写

if 1=1 then

else

 of_test_bug2()

end if

做完后。执行简单的样例。分别点击buttoncb_1、cb_2、cb_3。

会发现。

cb_1、cb_2都会调用不可视对象n_base的初始化以及销毁事件。而cb_3却不会。

有的写法即使没调用到对象也会初始化、销毁对象。

这样,即使不想调用对象的时候。也会去初始化跟销毁对象,那就会影响效率。占用内存。

那么,怎样降低这样的情况呢?

方法一:像buttoncb_3的点击里面的方法那样处理。

方法二:去掉不可视对象的Autolnstantiate属性。调用的时候才用create的方法

n_base ln_base

ln_base = create n_base

这样就能够降低这种影响。

不可视对象的自己主动实例化BUG的更多相关文章

  1. Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入

    本节主要内容:       1.实例化Spring容器示例    2.利用Spring容器创建JavaBean对象    3.如何控制Bean实例化    4.利用Spring实现bean属性sett ...

  2. 怎么说, 开发会很乐意去主动修改bug?

    怎么说, 开发会很乐意去主动修改bug? 一图顶上千言万语,如下:

  3. 【初识Spring】对象(Bean)实例化及属性注入(xml方式)

    title: [初识Spring]对象(Bean)实例化及属性注入(xml方式) date: 2018-08-29 17:35:15 tags: [Java,Web,Spring] --- #初识S ...

  4. 引用对象的使用和易产生bug的示例

    本文属原创,转载请注明出处:http://www.cnblogs.com/robinjava77/p/5481608.html  (Robin) QuoteTest(引用对象技巧) import ja ...

  5. 使用Delphi对象(声明、实例化、构造、释放)

    一.声明和实例化 在使用一个对象之前,用class关键字声明一个对象.可以在一个程序或单元的type部分声明一个对象类型: type TFooObject = class; 除了声明一个对象类型,通常 ...

  6. C#对象的声明与实例化

    在代码中我们经常能看到下面这样的语句. A a = new A();(1) B b = null;(2) C c;(3) 代码( 1 ) 创建 A 的对象并对其进行初始化. A :类: new A() ...

  7. JS中有关对象的继承以及实例化、浅拷贝深拷贝的奥秘

    一.属性的归属问题 JS对象中定义的属性和方法如果不是挂在原型链上的方法和属性(直接通过如类似x的方式进行定义)都只是在该对象上,对原型链上的没有影响.对于所有实例共用的方法可直接定义在原型链上这样实 ...

  8. spring中获取dao或对象中方法的实例化对象

    spring中获取dao的中方法的实例化对象: //获取应用上下文对象 ApplicationContext ctx = new ClassPathXmlApplicationContext(&quo ...

  9. 【初识Spring】对象(Bean)实例化及属性注入(注解方式)

    通过xml的方式进行对象的实列化或属性注入或许有一些繁琐,所以在开发中常用的方式更多是通过注解的方式实现对象实例化和属性注入的. 开始之前 1.导入相关的包(除了导入基本的包还要导入aop的包): 创 ...

随机推荐

  1. JavaScript中的面向对象的讨论(转)

    前言 今天,WEB2.0时代的到来,给了JavaScript又一次大展身手的机会.Web2.0借助JavaScript技术,使得客户端的Web体验更加丰富多彩,同时JavaScript面对的问题域也变 ...

  2. linux查看文件大小df-du

    1.  显示目前所有文件系统的可用空间及使用情形,h表示使用 GB.MB 等易读的格式 [root@rusky ldap]# df -hFilesystem Size Used Avail Use% ...

  3. dsadm-dsconf数据导入导出

    cd instance-path/ds6/bin   #注意黄色参数修改为跟实际环境一致 -c,--accept-cert Does not ask for confirmation before a ...

  4. Access to the path '....' is denied.解决方法

    昨天公司项目迁移服务器,从自己服务器迁移到阿里云服务器,部署完成后发现有一个页面要读取磁盘上的静态文件就报错了... 如图: 解决办法: 在 Web.Config 的 <System.Web&g ...

  5. Asp.net简单实现forms验证

    <configuration> <system.web> <compilation debug="true" targetFramework=&quo ...

  6. MySql不支持事务解决

    用的是一个绿色版的mysql数据库,发现不支持事务,在网络上搜集资料找到解决方案: 1.执行语句  SHOW ENGINES; 如果发现InnoDB全部显示为“YES”,说明该版本的数据库支持事务 2 ...

  7. for_each 用法!

    class MapTest:public CapTest{ private: set <string> MyTestContain; typedef pair <string,int ...

  8. Activiti工作流学习-----基于5.19.0版本(8)

    8.1.5 Start Event 继续上一篇的事件的分享笔记,Start Event指明该处是流程开始,至于开始事件的类型(消息到达开始,指定的事件循环开始等),定义如何开始是在开始事件圆圈图标里面 ...

  9. C 语言 输入字符串 并计算输入的字符的长度

    int main(void) { char a[50];int i=0;char *j;gets(a);//输入字符串j=a;while(*j!='\0'){j++;//指针指向下一个数组字符i++; ...

  10. 跨域Ajax请求 web.config文件配置

    在web.config文件的<system.webServer>节点下面添加如下配置代码:<!--允许跨域ajax访问--> <httpProtocol> < ...