首页 -> 杂七杂八

为VB6开发的扩展库-VBRichClient

流星雨 50 天前建立 •  36   
http://www.vbrichclient.com/

摆脱 Microsoft COM 的依赖,更容易实现平台移植性(基于新的经典VB编译器),现在的VBRichClient正是为达到该目标的一个去耦框架。

它能做什么?简单说能提供以下VB没有或很难实现的功能:多线程、函数指针调用、数组列表、高级集合类

内存数据库、XMLDOM/SAX访问、子类化、公式计算、SGDI封装、各种加密和压缩算法、文件处理、网络Socket、

简单下载、JSON、JPG压缩解码、音频设备访问、物理引擎、Webkit浏览器、QLite数据库、基于Cairo的2D绘图、

打印、RPC、Web服务器…… 多到你想不到的功能,而且一直在不断扩展中。

VBRichClient官方网站//www.VBRichClient.com/


欢迎登陆以上网站,关注最新消息,还有其它更多内容。这里有经典VB的未来!


由于官网也没有太多的帮助文档,所以只能通过摸索逐步熟悉该库的使用,好在涉及命名都比较通俗易懂,

虽然没有文档,理解起来基本也没有太大难度。还有通过非官方网站,可以下载到 3.0版本的库,里面有不少

示例可以参考。


1、VBRichClient 的引用

是的,你完全可以不对它进行引用!就可以使用它的功能!参考【使用 DirectCOM 库】

当然你也可以按熟悉的常规方法,通过注册引用该库

2、VBRichClient 的分发

如果采用引用方式使用,则需要将vbRichClient5.dll 和 vb_cairo_sqlite.dll一起复制到程序目录,并

对 vbRichClient5.dll 进行注册。

如果采用免注册方法使用,则还需要将DirectCOM.dll 一并复制到程序目录或System目录。

3、VBRichClient 的使用

VBRichClient是个相当庞大的库,需要花一些时间熟悉里面的类,最简单的办法就是使用其中的 cConstructor

类直接“生产”其它的对象。使用 DirectCOM 免注册使用,则必须使用 cConstructor访问其他类。

dimrcConstructor as object

dim rcMemDBas object

setrcConstructor = DirectCom_Create("vbRichClient5.dll","cConstructor")

set rcMemDB= rcConstructor.MemDB()

rcMemDB.xxx


4、cConstructor 成员列表

●ArrayList

简介:创建数组列表对象,支持动态添加、移除,也可以当队列或者栈来用,支持排序

原型:FunctionArrayList(vType As VbVarType, ParamArray P() As Variant) AscArrayList

●AudioCaptureClient

简介:创建捕捉音频对象

原型:FunctionAudioCaptureClient() As cAudioCaptureClient


●AudioRenderClient

简介:创建播放音频对象

原型:FunctionAudioRenderClient() As cAudioRenderClient

●Cairo

简介:创建 Cairo2D 绘图对象,支持许多高级绘图函数,比如反锯齿,透明,文字,变形……

原型:FunctionCairo() As cCairo


●cdeclCall

简介:以CDECLCALL约定调用函数指针

原型:FunctioncdeclCall(retType As enmRetType, pFunc As Long, ParamArray P() AsVariant)


●cdeclCallDirect

简介:以CDECLCALL约定调用函数指针,与cdeclCall区别不明

原型:FunctioncdeclCallDirect(retType As enmRetType, pFunc As Long, pArgs AsLong, ArgsByteCount As Long)


●CleanupRichClientDll

简介:清空VBRichClient的临时文件?未验证

原型:SubCleanupRichClientDll()


●ClipBoard

简介:创建剪切板对象,比VB自带的对象好用

原型:FunctionClipBoard() As cUniClipBoard


●CodePageMapping

简介:创建编码和代码页映射对象

原型:FunctionCodePageMapping() As cCodePageMapping


●Collection

简介:创建集合对象,该对象比VB自带的Collection和Scripting.Dictionary有更多的功能

原型:FunctionCollection([CompatibleToVBCollection As Boolean = True],[StringCompareMode As StringCompareModeEnum = 1], [UniqueKeys AsBoolean = True], [Content]) As cCollection


●ControlPoints

简介:创建控制点对象,用来在2D绘图中控制形状或曲线的参数

原型:FunctionControlPoints() As cControlPoints


●Converter

简介:创建转换数据库对象

原型:FunctionConverter([CaseInSensitiveTextColumns_ConformToJet As Boolean]) AscConverter


●CreateInstanceUnk

简介:通过注册表中的ClsID 和 IID 直接创建COM对象

原型:FunctionCreateInstanceUnk(ClsID As String, IID As String) AsIUnknown


●Crypt

简介:创建加密对象,该对象支持各种常见加密解密算法和压缩算法

原型:FunctionCrypt() As cCrypt


●DataObjectFiles

简介:创建数据对象文件

原型:FunctionDataObjectFiles() As cDataObjectFiles


●DataSource

简介:创建数据源对象

原型:FunctionDataSource() As cDataSource


●DC

简介:创建设备上下文对象,GDI绘图用

原型:FunctionDC([DIB As cDIB], [DDB As cDDB]) As cDC


●DDB

简介:创建设备相关位图对象,GDI绘图用

原型:FunctionDDB([dx As Long], [dy As Long], [Picture As StdPicture],[PictureBytes]) As cDDB


●DIB

简介:创建设备无关位图对象,GDI绘图用

原型:FunctionDIB([dx As Long], [dy As Long], [Picture As StdPicture],[PictureBytes], [IconBytes], [UseIconDefaultSize As Boolean],[DesiredIconSize As Long]) As cDIB


●Displays

简介:创建显示器对象,支持多显示器,获取显示器硬件参数

原型:FunctionDisplays() As cDisplays


●Downloads

简介:创建简单下载对象,支持进度报告

原型:FunctionDownloads() As cDownloads


●EventCollection

简介:创建事件集合对象,作用暂未知

原型:FunctionEventCollection() As cEventCollection


●Formula

简介:创建公式对象,对包含计算公式的字符串求值

原型:FunctionFormula() As cFormula


●FSO

简介:创建文件系统对象,与Scripting.FileSystemObject类似,但有更多新功能,比如打开保存文件对话框、获取临时文件、获取各种特殊文件夹……

原型:FunctionFSO([CreateFreshInstance As Boolean]) As cFSO


●GestureConfigList

简介:作用暂未知

原型:FunctionGestureConfigList() As cGestureConfigList


●GetCPUCoresCount

简介:获取CPU核心数

原型:FunctionGetCPUCoresCount() As Long


●GetFuncPtr

简介:获取直接从DLL文件获取函数指针

原型:FunctionGetFuncPtr(LibNameOrFullPathOrHandle, FunctionName As String,[RaiseErrorIfNotFound As Boolean]) As Long


●GetStringFromPointerW

简介:从指针所指内存获取字符串

原型:FunctionGetStringFromPointerW(WStrPtr As Long, [ExpectedMaxLen As Long =4096]) As String


●HPTimer

简介:获取时间

原型:FunctionHPTimer() As Double


●IsVistaPlus

简介:是否为Windows Vista 系统

原型:FunctionIsVistaPlus() As Boolean


●IsWin7Plus

简介:是否为Windows 7 系统

原型:FunctionIsWin7Plus() As Boolean


●IsWin8Plus

简介:是否为Windows 8 系统

原型:FunctionIsWin8Plus() As Boolean


●IsXPPlus

简介:是否为Windows XP 系统

原型:FunctionIsXPPlus() As Boolean


●JPG

简介:创建JPEG解压缩对象

原型:FunctionJPG() As cJPG


●JSONArray

简介:创建 JSON数组对象

原型:FunctionJSONArray() As cCollection


●JSONDecodeToCollection

简介:将 JSON转换为 集合 对象

原型:FunctionJSONDecodeToCollection(strJSON As String, [ParserErrors As String],[StrictParsing As Boolean = True]) As cCollection


●JSONDecodeToCollectionUTF8

简介:将 JSON转换为 集合对象,JSON字符串为UTF-8编码

原型:FunctionJSONDecodeToCollectionUTF8(UTF8Bytes() As Byte, [ParserErrors AsString], [StrictParsing As Boolean = True]) AscCollection


●JSONObject

简介:创建 JSON对象 对象

原型:FunctionJSONObject() As cCollection


●KeyWatcher

简介:创建键盘监听器对象

原型:FunctionKeyWatcher(VKeysCommaSeparated As String, [WatchAllAppWindows AsBoolean], [WatchSystemWide As Boolean]) AscKeyWatcher


●MemCopy

简介:拷贝内存

原型:SubMemCopy(pDst As Long, pSrc As Long, Bytes As Long)


●MemDB

简介:创建内存数据库对象

原型:FunctionMemDB() As cMemDB


●MMDeviceEnumerator

简介:创建多媒体硬件枚举器对象

原型:Function() As cMMDeviceEnumerator


●MP3Resource

简介:创建MP3资源对象,使用方法未知

原型:FunctionMP3Resource() As cMP3Resource


●OneShotTimer

简介:创建触发器型定时器

原型:FunctionOneShotTimer() As cOneShotTimer


●OOEmbed

简介:创建OpenOffice对象,未验证

原型:FunctionOOEmbed([HostingContainerhWnd As Long], [DocFileName As String],[NewDocumentType As DocType = sWriter]) AscOOEmbed


●PhysicsEngine

简介:创建物理引擎对象,常用于游戏开发

原型:FunctionPhysicsEngine() As cPhysicsEngine


●Properties

简介:创建属性对象

原型:FunctionProperties() As cProperties


●Recordset

简介:创建数据库记录对象

原型:FunctionRecordset([ActiveConnection As cConnection], [Content]) AscRecordset


●RegFree

简介:创建COM免注册对象,支持多线程

原型:FunctionRegFree() As cRegFree


●ReportDocument

简介:创建打印文档对象

原型:FunctionReportDocument([MMScaleFactor As Double = 1], [PageWidthInUserUnitsAs Double = 210], [PageHeightInUserUnits As Double = 297]) AscReportDocument


●ReportPage

简介:创建打印页对象

原型:FunctionReportPage([InitDrawMode As Boolean], [Landscape As Boolean]) AscReportPage


●RPCConnection

简介:创建RPC调用连接对象

原型:FunctionRPCConnection([Host As String], [Port As Long = 22222], [KeepAliveAs Boolean = True], [ServerAuthentication As Boolean], [UserName AsString], [PassWord As String]) As cRPCConnection


●RPCListener

简介:创建RPC调用监听器对象

原型:FunctionRPCListener([Host As String], [Port As Long = 22222],[ThreadPoolSize As Long = 8], [ForceAuthentication As Boolean],[AdminPassWord As String], [AllowedGroup As String], [RPCDllsFolderAs String], [ReadIniValues As Boolean], [StartServer As Boolean],[DefaultBinaryPathForWebRequests As String], [ToCallBeforeAnyRPC AsString]) As cRPCListener


●ShellLink

简介:创建快捷方式对象

原型:FunctionShellLink() As cShellLink


●SimpleDOM

简介:创建 XMLDOM 对象

原型:FunctionSimpleDOM([XMLSource As String], [FirstParamIsFileName As Boolean])As cSimpleDOM


●SimpleSax

简介:创建 XMLSAX 对象

原型:FunctionSimpleSax() As cSimpleSax

1 个回复,直到2021-03-08 20:54
    流星雨_avatar
    流星雨   50 天前 第1楼

    ●SMBScan
    简介:创建 SMB服务器扫描器对象
    原型:FunctionSMBScan() As cSMBScan

    ●SortedDictionary
    简介:创建有序字典对象
    原型:FunctionSortedDictionary([StringCompareMode As StringCompareModeEnum],[UniqueKeys As Boolean = True]) AscSortedDictionary

    ●stdCall
    简介:以STDCALL约定调用函数指针
    原型:FunctionstdCall(retType As enmRetType, pFunc As Long, ParamArray P() AsVariant)

    ●stdCall
    简介:以STDCALL约定调用函数指针,与stdCall区别不明
    原型:FunctionstdCallDirect(retType As enmRetType, pFunc As Long, pArgs As Long,ArgsByteCount As Long)

    ●Stream
    简介:创建数据流对象,类似于ADO中的Stream对象
    原型:FunctionStream() As cStream

    ●StringBuilder
    简介:创建字符串构造器对象,快速组合字符串
    原型:FunctionStringBuilder() As cStringBuilder

    ●StringCompare
    简介:创建字符串比较器对象,支持多种方式比较
    原型:FunctionStringCompare() As cStringCompare

    ●SubClass
    简介:创建就子类化对象,VB中用处太大了
    原型:FunctionSubClass() As cSubClass

    ●SVG
    简介:创建 SVG格式分析器对象
    原型:FunctionSVG() As cSVG

    ●TCPClient
    简介:创建 TCP客户端对象
    原型:FunctionTCPClient() As cTCPClient

    ●TCPServer
    简介:创建 TCP服务端对象
    原型:FunctionTCPServer([StartListening As Boolean], [Host As String], [Port AsLong], [BufferSize As Long = 65536], [MaxConnections As Long =1024]) As cTCPServer

    ●TDD
    简介:创建类自动化测试对象
    原型:FunctionTDD([TestClass As Object], [TestMethod As String]) AscTDD

    ●Timer
    简介:创建定时器对象,不需要窗体
    原型:FunctionTimer([Interval As Long], [Enabled As Boolean], [Tag]) AscTimer
    ●Timing
    简介:作用未知
    原型:FunctionTiming([Start As Boolean]) As String
    ●UDP
    简介:创建 UDP网络对象
    原型:FunctionUDP() As cUDP
    ●vtblCall
    简介:以虚拟函数表调用函数
    原型:FunctionvtblCall(retType As VbVarType, punk As Long, vtblIdx As Long,ParamArray P() As Variant)
    ●WebArchive
    简介:创建WEB文档对象,配合WebServer对象使用
    原型:FunctionWebArchive([FileNameOrByteArrayToRead]) AscWebArchive
    ●WebKit
    简介:创建 WebKit浏览器对象,需要在官网下载 WebKit 插件包,只有一个5M文件
    原型:FunctionWebKit([InititializeWithPath As Boolean], [WebKitDllPath AsString]) As cWebKit
    ●WebServer
    简介:创建Web服务器对象,可以实现简单的Web服务
    原型:FunctionWebServer() As cWebServer


回复

登录发表 or 还没有账号?去注册