不可视对象的自己主动实例化BUG
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的更多相关文章
- Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入
本节主要内容: 1.实例化Spring容器示例 2.利用Spring容器创建JavaBean对象 3.如何控制Bean实例化 4.利用Spring实现bean属性sett ...
- 怎么说, 开发会很乐意去主动修改bug?
怎么说, 开发会很乐意去主动修改bug? 一图顶上千言万语,如下:
- 【初识Spring】对象(Bean)实例化及属性注入(xml方式)
title: [初识Spring]对象(Bean)实例化及属性注入(xml方式) date: 2018-08-29 17:35:15 tags: [Java,Web,Spring] --- #初识S ...
- 引用对象的使用和易产生bug的示例
本文属原创,转载请注明出处:http://www.cnblogs.com/robinjava77/p/5481608.html (Robin) QuoteTest(引用对象技巧) import ja ...
- 使用Delphi对象(声明、实例化、构造、释放)
一.声明和实例化 在使用一个对象之前,用class关键字声明一个对象.可以在一个程序或单元的type部分声明一个对象类型: type TFooObject = class; 除了声明一个对象类型,通常 ...
- C#对象的声明与实例化
在代码中我们经常能看到下面这样的语句. A a = new A();(1) B b = null;(2) C c;(3) 代码( 1 ) 创建 A 的对象并对其进行初始化. A :类: new A() ...
- JS中有关对象的继承以及实例化、浅拷贝深拷贝的奥秘
一.属性的归属问题 JS对象中定义的属性和方法如果不是挂在原型链上的方法和属性(直接通过如类似x的方式进行定义)都只是在该对象上,对原型链上的没有影响.对于所有实例共用的方法可直接定义在原型链上这样实 ...
- spring中获取dao或对象中方法的实例化对象
spring中获取dao的中方法的实例化对象: //获取应用上下文对象 ApplicationContext ctx = new ClassPathXmlApplicationContext(&quo ...
- 【初识Spring】对象(Bean)实例化及属性注入(注解方式)
通过xml的方式进行对象的实列化或属性注入或许有一些繁琐,所以在开发中常用的方式更多是通过注解的方式实现对象实例化和属性注入的. 开始之前 1.导入相关的包(除了导入基本的包还要导入aop的包): 创 ...
随机推荐
- ArcGis ToolBar为灰色
问题描述:添加完导航按钮,测试时发现按钮一直都是灰色的,不可用状态. 可能原因:跟控件添加的顺序有关,导致toolbar跟map控件无法正确关联. 解决方案:删掉toolBar,重新添加.
- 前端笔试题目小结--获取输入参数用户名;查询URL字符串参数
编写一个JavaScript函数getSuffix,用于获得输入参数的后缀名.如输入abc.txt,返回txt. str1 = "abc.txt"; function getSuf ...
- Linux下修改字符集,转自
以下转自http://blog.csdn.net/cyuyan112233/article/details/6539122 Linux下修改字符集 locale -a 查询系统支持的字符集 expor ...
- Objective-C 异常处理
#import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { ...
- ECMAscript v.s. Javascript
ECMAscript是一种中性的语言,中性表示与所处环境(宿主环境)无关(客户端/服务器/浏览器),它仅仅是一个纯粹意义上的语言. ECMAscript-262定义了这门语言的基础,或者说规则(比如说 ...
- 同步关键字synchronized
同步关键字synchronized 同步关键字synchronized使用简洁,代码可维护性好.在JDK6中,性能也比早期的JDK有很大的改进.如果可以满足程序要求,应该首先考虑这种同步方式. 关键字 ...
- DEDE数据库修改后台变量
进行数据库之后找到 dede_sysconfig 这个数据表,然后查找到你要删除的dede教程变量名称. 这样就可以了
- lazy loading img 图片延迟加载
http://yunpan.cn/cVsjPW6dgbcsh (提取码:b5db)
- CFLAGS/CPPFLAGS/CXXFLAGS in Makefile介绍
先来看一张关于Makefile中的常见预定义变量. CFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项.这两个变量实际上涵盖了编译和汇编两个步骤.大多数程序和库 ...
- hdu 1301 Jungle Roads
http://acm.hdu.edu.cn/showproblem.php?pid=1301 #include <cstdio> #include <cstring> #inc ...