不可视对象的自己主动实例化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的包): 创 ...
随机推荐
- [Typescript] Typescript Enums vs Booleans when Handling State
Handling state with Typescript enums, instead of booleans, is preferred because:- Enums are more rea ...
- expect spawn、linux expect 用法小记
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ######## ...
- Lambda 笔记
lambda表达式,将会带来代码的灵活性,同时使我们的代码更具表现力. Dim doubleIt As Func(Of Integer, Integer) = _ Function(x As Inte ...
- css变形几大属性
1.transform: transform-function() * | none; transform-function: translate().scale().rotate().skew(). ...
- unity中数据的持久化存储
unity 提供了PlayerPrefs这个类用于存储游戏数据到电脑硬盘中. 这个类有10个函数可以使用 Class Functions类函数 SetInt Sets the value of the ...
- traditional:true
- java学习笔记(3):java的工作原理及相关基础
一.运行机制 如上图所示,图中内容即为Java的运行机制: 1.我们一开始所编写的代码文件存储格式为(如text.java)文件,这就是源程序文件 2.在Java编辑器的作用下,也就是就行了编译,形成 ...
- cas+tomcat+shiro实现单点登录-3-CAS服务器深入配置(连接MYSQL)
目录 1.tomcat添加https安全协议 2.下载cas server端部署到tomcat上 3.CAS服务器深入配置(连接MYSQL) 4.Apache Shiro 集成Cas作为cas cli ...
- (转)OS X 升級後 MacPorts 重新安裝筆記
原地址:http://blog.lyhdev.com/2012/07/os-x-macports.html Mac OS X 10.8 Mountain Lion 正式發佈,而且祭出台幣 $590 元 ...
- C# window 窗体 保持最前显示
两句话搞定 [DllImport("user32.dll", CharSet = CharSet.Auto)] private static extern int SetWind ...