Sign in to follow this  
Guest cbuchner1

Simconnect_Text

Recommended Posts

Hi there,I am trying to use Simconnect_Text() to display an on-screen menu in Tileproxy.I noticed that the function is not yet available in the SimConnect header file that was shipped with the RTM version of FSX.Does that mean this function will require the SP1 of FSX to work? Or is it just enough to have an updated simconnect library and it still works with the RTM version of FSX...Christian

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Oh no!So I built Tileproxy with a manifest that requires the SP1A simconnect library and I even added the SP1A redistributable to the TileProxy installer.Works nice on FSX SP1. Tileproxy adds itself to the "Add-Ons" Menu and can even display an on-screen menu.BUT...When I run a regression test on a machine with FSX RTM version, SimConnect SP1A is able to connect to the Flight Simulator, but it fails to register any kind of data interface to the simulator. I get an Exception #5 from FSX multiple times. What I don't get is aircraft position changes, simulation start/stop notifications and pretty anything else TileProxy asks the simulator to report.Or in other words: Requiring and using Simconnect SP1A breaks my compatibility with the FSX RTM version.The only way out of this conundrum is to load different versions of SimConnect dynamically, depending on which FSX version the user runs. This however means I have to drop using a manifest file that is compiled into the Executable. And how would I access different DLL versions manually that are inside the WinSXS side by side cache?Any comments from experts on this?By the way, Exception #5 is a SIMCONNECT_EXCEPTION_VERSION_MISMATCH

Share this post


Link to post
Share on other sites

Simconnect has backwords compatibility, due to the SxS usage of the DLLs. You can write FSX code that will work in SP1... but cannot write SP1 code to work in FSX.Dick

Share this post


Link to post
Share on other sites

This is a bit of a bummer, as there are lots of users who prefer running the RTM version with TileProxy, as textures seem to load much better with the RTM for many users.But I'd certainly prefer to support both FSX versions with one TileProxy binary.I'd be happier if the SP1A SimConnect version only spit out the "version mismatch" exception on those features which are unsupported by the FSX RTM version ... for example the SimConnect_Text API call.

Share this post


Link to post
Share on other sites

>I'd be happier if the SP1A SimConnect version only spit out>the "version mismatch" exception on those features which are>unsupported by the FSX RTM version ... for example the>SimConnect_Text API call.You need to avoid linking direct to the SimConnect DLL in that case. Make it dynamically determine which version of SimConnect it can use, and then use LoadLibrary and GetProcAddress to link all the SimConnect routines you need. With the original RTM version of SimConnect you simply would not get any address returned for the SimConnect_Text proc.This is what FSUIPC4 does, since version 4.10. In fact that will use the latest of RTM, SP1Beta3, SP1Beta4 or SP1 RTW versions of SimConnect it can find. However, it still has the RTM manifest built in so that it will always get loaded -- the RTM (original) version is the only one guaranteed to be there.RegardsPete

Share this post


Link to post
Share on other sites

That's exactly how I will go about it, and I call that layer inbetween"ShimConnect". Just a lovely pun.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this