I think ActiveX will hang around. 973 API has an Excel demo using it. IB went to the trouble of converting whatever they had in that old Tws.ocx file (source code never released) into a C# version. What IB didn't do is demonstrate how to use the C# dll ActiveX in a C# or vb.net sample. You have to register the dll with regasm, not regsvr. Regasm is found in the Windows\Microsoft.Net\Framework\4.xxxx directory (from memory) and you have to regasm.exe the dll file in an elevated shell ( cmd window that's been opened with Administrator rights...google regasm, you'll see how).
I too am in the process of updating some old (C#) code which relied on the old Tws.ocx. I think it's going to be as simple as Referencing the ActiveX dll (Twslib.dll) in a VS Solution, put "#using Twslib" statements in files and then I think I do something like this:
Tws tws = new Tws(); // use tws for hooking up event callbacks..i.e. "+=" / "-="
var itws = (ITws) tws; // reference itws, not the tws for creating objects, making IB requests
It's ActiveX so each Tws you instantiate (most apps need only 1) has to be associated with a Windows Form for the message routing, right? It can be a non-visible Form used only for the purpose of association with the Form's Windows message queue.
I guess I'll get my trial by fire too when I get to hooking up the IB functions for my app.
Yes, I can convert the app to use their newer EWrapper interface using sockets but I still wantvto know how everything works with the C# ActiveX dll first.
One of the great joys in my trading, when in need of custom programming, is that I don't have to wish I had decades of formal programming with an advanced degree in Computer Science!! Funny how one past "life" became so useful to the next.
Anyway, I don't know vb.net syntax. When you come from a long history of C/C++/Java, C# feels natural, vb.net looks completely alien, even having lightly coded with the old VB6 ages ago.
[On a totally unrelated note, learn how to program in Clojure. For non-GUI programming / multi-threaded environments, it's a TOTAL THRILL to have non-mutable data structures and software transactional memory (STM) built-in. NOBODY ON THIS PLANET SHOULD HAVE TO FACE MANUAL LOCKING PROBLEMS...STONE COLD EXPERTS CAN'T GET IT RIGHT EITHER...object-oriented programming solves nothing in this area]