[v4.0] Thread Factory for Visual Basic 6 and .NET

This article along with all titles and tags are the original content of AppNee. All rights reserved. To repost or reproduce, you must add an explicit footnote along with the URL to this article!
Any manual or automated whole-website collecting/crawling behaviors are strictly prohibited.
Any resources shared on AppNee are limited to personal study and research only, any form of commercial behaviors are strictly prohibited. Otherwise, you may receive a variety of copyright complaints and have to deal with them by yourself.
Before using (especially downloading) any resources shared by AppNee, please first go to read our F.A.Q. page more or less. Otherwise, please bear all the consequences by yourself.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Visual Basic statements are not thread-safe and are not suitable for multi-threaded work patterns. There are about 4 mechanisms for implementing multithreading under Visual Basic: Win32 API, ActiveX DLL, ActiveX EXE, and third-party thread library Thread Factory. According to different application requirements, different mechanisms can be used to develop Visual Basic multi-threaded applications, so as to better play the characteristics of VB’s high efficiency, rapidity, and powerful interface design.

It is impossible to realize Visual Basic multithreading in a disguised form through programming skills. Also, there are hacks that might technically allow you to use multiple threads in Visual Basic 6, but they are so fragile that your application is more likely to crash or not even work properly. The time spent implementing these issues and debugging all of them is best spent porting your application to Visual Basic .NET. If you don’t want to spend extra time to learn .NET Framework first, and then port your project bit by bit, then Thread Factory for VB6 is a very good choice.

Thread Factory for Visual Basic 6 and .NET (AKA: Thread Factory for VB6) is a ActiveX/DLL component library for easily creating robust multi-threaded Visual Basic 6 applications, components and controls, developed by HalfTime Technologies in 2003. The component library was written in C++ (ATL) and Assembly language. But it does not use COM+ or have any MFC dependencies. It enables Visual Basic and VBA programmers to create ActiveX objects that run on separate threads.

Thread Factory includes a comprehensive framework for invoking and canceling asynchronous calls. Its most noted features are its stability, performance and ease of use. Unlike ActiveX EXE server products that attempt to emulate multi-threading by creating separate processes, Thread Factory creates true in-process multi-threaded VB6 and VBA applications and components.

Thread Factory includes comprehensive online HTML help, tutorials, and 14 example programs, and supports features like VBA multithreading (Excel and Access), MultiThread ADO Queries, Create Multi-Threaded VB6 forms, an AsyncControl OCX control, .NET compatibility. Version 4.0 also comes with StopWatchPro – a multithreaded Stop Watch OCX control.

Thread Factory is COM compliant and can be used by various COM enabled development tools including Microsoft’s VB6, Excel and Access and .NET. Programmers developing for IDE environments like Excel or using Thread Factory with .NET should use the Surrogate object design pattern demonstrated by the Progress Example and ADO Surrogate Example programs. In summary, Thread Factory allows the developer to quickly and economically create solid, fast, multi-threaded applications and components for all Microsoft Windows based operating systems.

Many years ago, AppNee encountered a stuck problem during program execution in the late stage of developing C– using Visual Basic 6. After doing some searches, I learned that Visual Basic 6 only supports single thread, and to solve this problem, you can use Thread Factory for VB6 to implement multithreading for C–. Afterwards, it was not released because there was no chance to actually test it on Windows 7, 8.1, and 10 real machines (it was only tested on Windows 7 and 8.1 under VM before, and there were some bugs). But thinking that someone still needs Thread Factory for VB6, I decided to release it anyway. Like many scarce resources, it may only exist at AppNee on the entire Internet currently. So, you better cherish it.

// Key Features //

  • Debug Safely using the VB6 IDE
  • Asynchronous calling convention that parallels Com+ (Begin_ and End_)
  • Enhanced Error Handling for Asynchronous Calls
  • Includes StopWatchPro Multi-threaded OCX control (now supports VBA)
  • ElapsedTime class – High Precision Timing (1 millisecond accuracy)
  • Asynchronous Call Cancellation, see CancelObject
  • Create multi-threaded OCX controls, see Multi-threaded OCX control Example
  • Fully Configurable Thread Priorities, see SetThreadPriority
  • ThreadHANDLE and ThreadID Properties
  • Runtime Module (160k total size) , see Distribution Applications
  • Easy access to useful Win32 API functions and Synchronization Objects

// System Requirements //

  • Windows 98, Windows NT4, Windows 2000, Windows ME or Windows XP
  • Visual Basic 6 Professional or Enterprise Edition – service pack 5 or later

// Edition Statement //

AppNee provides the Thread Factory for Visual Basic 6 and .NET full installers and unlocked files for Windows 32-bit & 64-bit.

// Installation Notes //

for v4.0:

  1. Download and install Thread Factory for Visual Basic 6 and .NET
  2. Copy the unlocked file to path as follows and overwrite:
    • X:\Program Files (x86)\ThreadFactory_v4_EVALUATION\Bin\
  3. Done

// Prompts //

  • To use Thread Factory, programmers should be proficient in creating Visual Basic 6 applications and ActiveX DLL Objects. Some multi-threaded experience will prove beneficial.

// Download URLs //

Version Download Size
v4.0 2.69 MB

(No Homepage)

If some download link is missing, and you do need it, just please send an email (along with post link and missing link) to remind us to reupload the missing file for you. And, give us some time to respond.
If there is a password for an archive, it should be "appnee.com".
Most of the reserved downloads (including the 32-bit version) can be requested to reupload via email.