`

VB6 class instancing

    博客分类:
  • VB
阅读更多

在测试文件组件之前,我们必须先编译它。但在进行这项工作之前,让我们先来浏览一下Visual Basic所给出来的一些额外选项。

  在打开FileCheck代码窗口的同时,我们来看看它的属性窗口。

  属性有Name、DataBindingBehaviour(用于将类和数据源相"绑定")、可持久性(用于控件中,允许保存某个类的属性)以及实例。

  当类名属性修改后,我们或许不必担心前三项的属性。那么什么是实例呢?

  实例(Instancing)属性决定自己的类对于使用ActiveX组件的应用程序来说是否可见。若可见,则在任何时候可运行不止一个的实例。

  实例属性有很多选项,我们来看一下:

  MultiUse —— 这可能是最常用的选项。它只提供给其他应用程序一个组件的实例,这个实例可以提供多个对象。这样就节约了内存空间并允许用户共享全局变量。

  Private —— 除该组件内的对象,类对于其他对象是不可见的。它通常用于类单独被类中的其他对象所访问。

  GlobalMultiUse —— 这个类的各种属性和方法可以象简单的全局函数那样被调用。另外,在VB中该类的实例不需要显式创建,因为它会自动创建。各种属性和方法都可从单独的一个组件实例中调用。

   PublicNotCreatable —— 它表示只有在创建实例的前提下,该类才是可见的。换句话说,用户不能用New关键词创建一个类对象。用户的类对象必须选被创建,然后才可使用。这有点像 DAO的记录集,用户不能创建一个新的记录集,而只能用OpenRecordset方法简单地打开它。

  SingleUse —— 它表示每次在代码中开始的一个组件的新的实例,只能运行另一个ActiveX组件的实例。换句话说,每个实例都获得自己的"进程空间"。虽然还有一些限制,没有什么奇怪的,它和MultiUse是相对的。

  GlobalSingleUse —— 类似于GlobalMultiUse,除了代码中创建的对象运行一个组件的新实例。

上 述选项,我们很少全部都使用过。毫无疑问,MultiUse是最常见的,其次是Private和GlobalMultiUse,其他的一般很少使用。当 然,我们不禁要问,在创建ActiveX DLLs时,我们能得到多少这样的选项呢?答案是明确,因为它们的工作方式是相同的。

分享到:
评论

相关推荐

    Animation-Instancing-master高性能大规模动画解决方案

    我们经常利用GPU Instancing 去实现室外场景,比如草地和树木。但是对于SkinnedMeshRenderer,例如角色,我们是使用不了instancing技术的。因为角色的蒙皮计算通常是在CPU计算的,然后一个一个的提交给GPU渲染。通常...

    AnimationInstancing群体渲染

    6. **内存管理**: 注意合理管理Asset Bundle,避免内存泄漏。在不再需要时,记得卸载不再使用的Asset Bundle。 通过上述步骤,"Animation Instancing"可以有效地处理大量的角色渲染,尤其适用于需要大量动态角色的...

    AnimationInstancing大群体渲染

    用于渲染大群体,将动作等资源打包在资源中,优化渲染效果

    让VB可以调用DLL控件中的窗体为MDI子窗体

    然后,在类模块Class1中,我们将`Instancing`属性设置为`65`,这是`multiUse`的常量值,表示这个类可以被多次实例化。 在Class1模块中,我们导入了几个来自user32.dll的API函数,用于处理窗口的父窗口设置和样式...

    VB调用DLL.doc

    6. 在其他VB项目中,通过`CreateObject`创建组件实例,如`Set MyObj = CreateObject("Project1.Class1")`,然后就可以调用组件的方法和属性了。 总之,VB调用DLL是通过`Declare`语句将DLL中的函数引入VB程序中,而...

    GPUInstancing.exe

    默认情况下,多个一样的模型会被动态...这里用镜像后的实例模型和GPU Instancing做比较在Unity5.6.2或者之后的版本中,只要材质球勾选Instancing,即自动开启并使用GPU Instancing。 GPUInstancing 的示例,支持动画

    Visual Basic 6编程技术大全 中译本扫描版带书签 2/2

    是非常详细和深入的Vb6学习教程,无论对初学者还是有经验的开发人员,都非常有帮助 第一部分基础篇1 第1章 VB6入门1 1.1 集成开发环境1 1.1.1 运行IDE1 1.1.2 选择工程类型1 1.1.3 IDE窗口2 1.1.4 菜单5 1.1.5 工具...

    Video9.Demo2.Instancing

    在3D图形编程和游戏开发领域,实例化(Instancing)是一种重要的性能优化技术。"Video9.Demo2.Instancing"很可能是一个演示实例化的视频教程或项目,它旨在展示如何在场景中有效地利用实例化来提高渲染效率。下面将...

    Animation-Instancing

    Animation Instancing是一种大大减少CPU消耗并且对GPU Instancing的一种补充。你可以在GitHub上获取代码。下载地址: https://github.com/Unity-Technologies/Animation-Instancing 特别说明:这是一个实验性质的...

    vb写的ole 回调函数

    'Note6: Every time you build a new exe of your server, VB will generate a new 'unique ID for each of its classes. Since this ID must be the same ID that is also 'registered in the client machine's ...

    raylib-instancing:raylib的实例化渲染支持

    6. **开源许可证**:项目具有开源许可证,意味着代码可以被自由分发和修改,但具体许可证类型未知,可能会影响代码的使用方式。 7. **版本控制**:"master"分支表明项目遵循版本控制的最佳实践,便于代码管理和协作...

    office2010 OneNote VBA / VB 官方范例 5

    首先,你需要创建一个名为`QFHandler`的VBA类模块,并设置其`Instancing`属性为2 - 公共不可创建。这表示该类可以被实例化,但不能通过`CreateObject`或`GetObject`来创建实例。 ##### 3. **实现接口** `QFHandler...

    openGLESExample_7_Instancing.rar

    几何实例化允许有效地呈现多个对象 使用不同的属性(例如不同的变换矩阵, 颜色,或大小)使用单个API调用。 这个特性在渲染中很有用 大量相似的对象,如人群渲染。 几何 实例化减少了发送许多API调用的CPU处理开销

    10.1.instancing_quads.rar

    一次绘制100个矩形,是一种只调用一次渲染函数却能绘制出很多物体的技术,它节省渲染物体 时从CPU到GPU的通信时间,而且只需做一次即可。要使用实例化渲染,我们必须 将 glDrawArrays 和 glDrawElements 各自改 ...

    Visual Basic 6编程技术大全 中译本扫描版带书签 1/2

    是非常详细和深入的Vb6学习教程,无论对初学者还是有经验的开发人员,都非常有帮助 第一部分基础篇1 第1章 VB6入门1 1.1 集成开发环境1 1.1.1 运行IDE1 1.1.2 选择工程类型1 1.1.3 IDE窗口2 1.1.4 菜单5 1.1.5 工具...

    touchdesigner-instancing-examples

    实例化技术马修·拉根(Matthew Ragan) 05.24.20概括好,你好,有更新。 此仓库经过了重大修改,使其成为探索实例化的更好工具,而不仅仅是示例的混搭。 作为一个工具,该项目现在将以执行模式开始,并允许您浏览...

    在Unity中渲染大量物体DrawMeshInstancedIndirect、Computer shader回调示例

    Unity的GPU Instancing GPU Instancing可以用来批量绘制大量相同几何结构相同材质的物体,以降低绘制所需的batches。要想在Unity中使用,首先需要至少在shader的某个pass中加上#pragma multi_compile_instancing。 ...

    3D Graphics with Metal-May 28, 2019.z06--分卷6

    3D Graphics with Metal -- 共7分卷,此为分卷6 May 28, 2019 Video 3D Graphics with Metal English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 3h 12m | 1.85 GB In this course you’ll get an introduction to...

Global site tag (gtag.js) - Google Analytics