Skip to content

🚀 VBMAN2 Upgrade Announcement

📅 Announcement Date: 2026.06.01

🎉 Important Notice: VBMAN2 Strategic Upgrade

About VBMAN2 Major Changes

VBMAN2 was originally a pure WebView2 control library for VB6/VBA based on TwinBasic's WebView2 control wrapper, with the compiled output being an OCX control file.

Major Update on 2026.05.25: We rewrote the TwinBasic WebView2 control as a DLL component, which can render web pages to any native control with a handle (such as Form1.hWnd, Picture1.hWnd). This solves the headache of OCX control files and lays the best foundation for upgrading VBMAN.

Core Changes

ItemOriginal VBMAN2New VBMAN2
OutputOCX ControlDLL Component
Relationship with VBMANIndependent LibraryUpgrade Version of VBMAN
Development StatusStoppedActive Development

Upgrade Recommendation

The original vbman.ocx control will no longer be developed. Please upgrade in time after VBMAN2.DLL is officially released.

VBMAN2 will become the best upgrade version of VBMAN, bringing more powerful features:

  • 🚀 High-performance IOCP network library
  • 🌐 IOCP-based HTTP server
  • ⚡ Truly debuggable multi-threading pool
  • 🤖 Truly usable AI object
  • 🗄️ Integrated database drivers
  • ... More surprises

⏳ Coming Soon

VBMAN2.DLL is under intensive development, stay tuned!

We will release the new version as soon as possible, please follow:

VBMAN2 has no open source plan, but likewise, free forever to use the binary DLL.


VBMAN2 Core Features Preview

Two-way Data Binding

VBMAN2 provides Vue-like two-way data binding capabilities, enabling seamless interaction between VB6/VBA host and WebView2 web UI:

DirectionAPIDescription
UI → VB6/VBABindUI / UnbindUIDOM event triggers → callback host method
VB6/VBA → UIBindData / SetDataHost sets value → automatically updates DOM property

Core Design: Explicit composition instead of implicit hijacking. Unlike Vue's automatic data hijacking relying on ES6 Proxy, VBMAN2 uses BindUI + BindData explicit composition, which is more suitable for cross-process WebView2 scenarios and fully compatible with VB6/VBA:

vb
' One-way binding: VB6/VBA → UI
wv.BindData "username", "#user-name", "textContent"
wv.SetData "username", "John Doe"   ' UI updates automatically

' Two-way binding: Input box ↔ VB6/VBA
wv.BindData "search", "#search-input", "value"   ' Data → UI
wv.BindUI Me, "OnSearch", "#search-input", EventName:="input"   ' UI event → VB6/VBA

Public Sub OnSearch(ByVal EventName As String, ByVal Detail As String)
    wv.SetData "search", JsonParser.GetValue(Detail, "value")   ' Write back data
End Sub

Supported DOM Properties: textContent / innerHTML / value / checked / disabled / visible / className / src / href / style, etc., with batch update support via SetDataBatch to reduce IPC calls.


VBMAN Open Source Project

VBMAN was officially open-sourced under the GPL v3 license on June 1, 2026!

  • 🔓 Binary Free Forever — Compiled DLL/OCX with no usage restrictions
  • 📖 Open Source — Under GPL v3 license
  • 💼 Commercial License Available — Contact us for closed-source commercial projects

Visit VBMAN Documentation  |  View Code Repository

VB6 and LOGO copyright of Microsoft Corporation