Simconnect client to be used with both MSFS and P3D

Yes indeed: for a moment I forgot that others have a better life than I do :wink:

But seriously: C++ is still my language of choice when it comes to hobby desktop applications such as my current pet project.

Together with a decent framework like Qt you can pretend to be in the „high level language league“ :wink:

And interestingly C++ has still gained (or rather: „caught up with other languages“) some interesting new features in the last couple of years.

Well, to be clear: with a plugin architecture you would avoid that the user had to worry about „which DLL to use“ as well: essentially exactly what you do in your C# application: the user would simply choose - in the GUI - with which simulator to connect with and the proper plugin (linking with the vendor-specific SimConnect.dll) would be instantiated (or ideally the app would automatically detect which simulator is currently running).

My point is: that‘s exactly what the „managed“ (?) part is doing for you in C#: from an API point of view you have a clear distinction between the FS2020 and P3D API implementation (-> namespaces), and I assume the underlying implementation (the „managed“ part of it) is dynamically linking - at runtime - with the respective SimConnect.dll, making sure that their (identical) symbols such as the mentioned „SimConnect_open“ do not collide.

And the same is of course also possible in C++ - except in a „do it yourself“ manner and that you are given a gazillion more options to shoot yourself into your foot :wink:

1 Like