I’m working on a VB6 project where I receive cost proposals as XML strings. These are parsed using Chilkat to build a complex VB6 object (cCostProposal) that contains multiple child elements.

Since this needs to happen many times per hour, I created XML parsing workers as ActiveX EXEs, which also archive the parsed data into a shared-memory SQLite database. The workers are configured as “Thread per Object” and set to “Self-contained”. I followed the architectural idea from one of Olaf's tutorials and encapsulated the logic in a class within the main project.

In the IDE, I can conveniently test the worker (cWorker) directly. If the worker is instantiated via CreateObject("Bookkeeping.Worker"), Sub Main is naturally skipped, which is expected, and the worker class will do the work independently.

Now, here's my challenge:
While in the IDE (or when the worker is integrated directly), I can use cWorker to construct the cCostProposal object with all children (which are VB6 class objects with "children") from an XML file and work with it right away. However, when the workers are launched via CreateObject, I'm unsure of the best way to access the fully constructed VB6 object from the main application.

So my question is:
Should I instantiate one persistent cWorker inside the main app (not via CreateObject), and let that handle parsing and object creation? Or is there a smarter, cleaner way to retrieve the fully built VB6 object (including all children) from these external XML worker instances?

I'm aware of RC6.JSON and have spent several intense weeks working with it. While I now understand it a bit, I’m still unsure if converting these complex object trees into JSONObjects and using SerializeToJSONString() / New_c.JSONObject() would be possible for this use case. The main issue is: I need real VB6 class instances to work comfortably and safely with the cost proposal data. Accessing everything via JSONObject.Prop(...) would be too error-prone for my needs.

Any ideas, advice, or design suggestions would be greatly appreciated!

Thanks a lot!