在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Windows 7继承和发扬了Windows Vista中的刻录功能,支持从资源管理器直接刻录ISO和IMG格式镜像。若要禁用此功能可通过下面的方法修改组策略或注册表。 1. WIN+R运行gpedit.msc 2. 依次打开Local Group Policy(本地组策略) -> User Configuration(用户配置) -> Administrative Templates(管理模板) -> Windows Components 3. 选中Windows Explorer 4. 在右侧面板中找到Remove CD Burning features(移除CD刻录功能)并双击 5. 选中Enable(开启) 6. 重启生效 对于没有组策略的机器而言,可以通过注册表来修改: 1. Win+R运行regedit 2. 找到如下键值 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 3. 在右侧面板中右键- 新建 - DWORD32 - 命名为NoCDBurning 4. 双击修改键值为1 5. 重启生效 Delphi 中求2的n(n>=0)次幂的方法 一开始就想到用shl的方法,但2shl0的结果为2,2shl-1的结果为0,2shl1结果为4怎么办?后来想到用Power函数,但该方法涉及到类型转换太麻烦,最后想到原来2shln div2不就是要求的2的n次幂吗?2shl div2 Delphi中窗体释放方法 为什么对象释放后仍然能调用对象的成员方法和成员 Form2.ShowModal; FreeAndNil(Form2); //这里Form2指向的指针为NULL,为什么下面还能执行方法show Form2.show; //为什么这里没有异常 因为成员方法是公有的, 所有对象实例都共享同一成员方法, 程序加载后, 成员方法相应的2进制代码就在内存,直到程序退出.而成员变量是私有的, 每个对象实例都有一份, 当你free掉一个实例后, 再写该实例的成员就很可能会出现非法访问内存了. DELPHI中的普通类方法(不是动态方法和虚拟方法)似于C++中的静态方法,对象不用创建也可以调用对象的方法,而不象动态方法和虚拟方法样是通过对象指针找到动态方法和虚拟方法入口表。普通的类方法和非类的过程和函数样,编译器把方法解释成了静态地址。 在delphi中,所有vcl对象都是指针,你所说的form也是一个指针 form.free: 收回form指针所指对象分配的内存(调用tform的析构函数释放窗口对象); from.close: 关闭窗体,from所指的对象并未释放内存,因此还是可以访问的,例如form.name,等等; form:=nil: 将指针指向空,但分配的内存未释放,这样做会导致内存泄漏。 最好将Form定义为全局变量而非局部变量,因为局部变量超过作用域后指针变量就不可访问了,但分配的对象内存仍然存在,将导致内存泄漏; 收回动态创建的窗口,最好使用FreeAndNil(Form)而不是简单的使用free,便不能用destroy,这样的好处是,由于程序逻辑的需要要再次访问Form时,不会因为form所指内存收回而导致出错。 fromclose方法中加入action:=cafree;//窗体释放 close默认是不会释放,这样设置就自动释放了 这样后就已经free了,再置空就可以了:=nil 或者close里面不自动free,使用 .free := nil |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论