I have another version of Squeak dll. It is base on Squeak4.0.
A main.exe program call Squeak.dll to initialize. And later call Squeak.dll to process Smalltalk expression, and Squeak.dll will return a object pointer to be store with main.exe. main.exe can later use the pointer for another call to Squeak.dll.
There are four types of call to Squeak.dll:
1. Smalltalk expression. eg, perform1("Object new")
2. Smalltalk expression with receiver. eg, perform2(anObj, "move")
3. Smalltalk expression with receiver and an argument. eg, perform3(anObj, "moveTo:", anObj2)
4. Smalltalk expression with receiver and a string as argument. eg, perform4(anObj, "moveTo:", "0@0")