davy2001 Posted October 20, 2005 Report Posted October 20, 2005 Hi There guys, I have been playing around with this FSUIPC module for a few days now and i just cant figure this out. Im trying to get my VB program to read and check FS if im slewing or not. I currecntly have this code.. Private Sub Command1_Click() Dim dwResult As Long Dim Slew As Integer If FSUIPC_Read(&H5DC, 2, VarPtr(Slew), dwResult) Then If FSUIPC_Process(dwResult) Then If dwResult = 1 Then MsgBox "Slewing Else MsgBox "Not slewing End If End If Else MsgBox "Cant read FSUIPC" End If End Sub I just keep getting the error "Cant read FSUIPC". Also the example in the SDK doesnt work either. Please can someone help me. Thanks in Advance.. Dave
kiek Posted October 20, 2005 Report Posted October 20, 2005 Hi, It looks as if you have forgotten the FSUIPC_Open(..) command. Now there's no link to FSUIPC, that's why it can't read ... Please read the manual carefully.
jd Posted October 20, 2005 Report Posted October 20, 2005 Hi There guys,I have been playing around with this FSUIPC module for a few days now and i just cant figure this out. Im trying to get my VB program to read and check FS if im slewing or not. I currecntly have this code.. Private Sub Command1_Click() Dim dwResult As Long Dim Slew As Integer If FSUIPC_Read(&H5DC, 2, VarPtr(Slew), dwResult) Then If FSUIPC_Process(dwResult) Then If dwResult = 1 Then MsgBox "Slewing Else MsgBox "Not slewing End If End If Else MsgBox "Cant read FSUIPC" End If End Sub I just keep getting the error "Cant read FSUIPC". Also the example in the SDK doesnt work either. Please can someone help me. Thanks in Advance.. Dave definately fsuipc_open, also test for slew = 1 not dwresult = 1
davy2001 Posted October 20, 2005 Author Report Posted October 20, 2005 Thanks a lot for the replies guys. Yeah it makes a lot of sence to open a connection first Doh! But im just confused why the example in the SDK doesnt work. Dave
davy2001 Posted October 20, 2005 Author Report Posted October 20, 2005 I think im having a problem with my actual FSUIPC. I have corrected myself as it says in the manual and its still getting nothing. To prove this, i checked the error number with the numbers in the bas file and i got error number 7 which means incorrect version of FSUIPC but why am i getting this if i have the latest version (3.5.0)? Dave
davy2001 Posted October 21, 2005 Author Report Posted October 21, 2005 Private Sub Command1_Click() Dim dwResult As Long Dim Slew As Integer Call FSUIPC_Open(SIM_ANY, dwResult) If FSUIPC_Read(&H5DC, 2, VarPtr(Slew), dwResult) Then If FSUIPC_Process(dwResult) Then If Slew = 1 Then MsgBox "Slewing!" Else MsgBox "Not Slewing" End If Else MsgBox "Cant Process. Error code: " & dwResult End If Else MsgBox "Cant read. Error code: " & dwResult End If End Sub I just dont understand what the problem is. I am always getting the "Incorrect version of FSUIPC" error. If your wondering if i have the FSUIPC module included in the project, i have. I have tried multiple versions of FSUIPC and still having no luck with it.
jd Posted October 21, 2005 Report Posted October 21, 2005 i'm assuming SIM_ANY is defined? i'm assuming fs is running when you try this button click? suggest you breakpoint at every fsuipc call, and make sure all your variables contain the right values, and find which call causes the error message jd
Pete Dowson Posted October 21, 2005 Report Posted October 21, 2005 Private Sub Command1_Click() Dim dwResult As Long Dim Slew As Integer Call FSUIPC_Open(SIM_ANY, dwResult) If FSUIPC_Read(&H5DC, 2, VarPtr(Slew), dwResult) ... I just dont understand what the problem is. I am always getting the "Incorrect version of FSUIPC" error. Two questions. First, you are not checking the result of the Open. It is only on the Open call that an FSUIPC_ERR_VERSION error can be returned -- unless someone has messed up the VB version of my code compared to the C version I wrote. There is nowhere in the FSUIPC_Read code nor the FSUIPC_Process code that sets this error. Second, how is it that you need "VarPtr" for one variable value being returned, but not for the other (dwResult)? In C terms there's no difference in these, both a pointers to memory and both get written to by the code. Incidentally, you also fail to mention wether you are getting this error on the Read or on the Process. But you should check the result of the Open, not simply "Call" it. Regards, Pete
davy2001 Posted October 21, 2005 Author Report Posted October 21, 2005 The problem is is that it wont open, it keeps saying incorrect version (error 7). I have just had a thought, does my .exe file have to be in the same folder as the FSUIPC.dll when i execute it? And yeh, FS is running when i run the program. SIM_ANY is defined in the FSUIPC.bas module.
Pete Dowson Posted October 21, 2005 Report Posted October 21, 2005 The problem is is that it wont open, it keeps saying incorrect version (error 7). How can you tell if you aren't checking the error on the Open? According to the code snippets you show you never check the return or the result of the Open call! I have just had a thought, does my .exe file have to be in the same folder as the FSUIPC.dll when i execute it? NO!!! FSUIPC runs in FS, in the Modules folder. It is not used directly by your program at all. And yeh, FS is running when i run the program. Have you used FSUIPC Logging -- there are options to log all IPC calls, both reads and writes? It will also log the identity of any program connecting to it. Additionally FSInterrogate is supplied in the FSUIPC SDK. Please use that to check the things you are trying to read. All these tools are provided for a purpose -- to help you develop and debug your programs. I'm afraid I know nothing about VB and the VB parts are not my work (though derived from it) -- but you are in excellent hands with JD's help. Regards, Pete
davy2001 Posted October 21, 2005 Author Report Posted October 21, 2005 Hi Pete, Im not saying that FSUIPC isnt working well it isnt working in a way if you know what i mean. The example in the SDK doesnt work so that must show that there is a problem with my FSUIPC dont you agree? I have changed my VB code around to find that i get error 7 i basically just did if(FSUIPC_open(........)) then have a msgbox. Dave
jd Posted October 21, 2005 Report Posted October 21, 2005 what is the value if sim_any when you call the fsuipc_open? breakpoint there, and hover the variable.
Pete Dowson Posted October 21, 2005 Report Posted October 21, 2005 The example in the SDK doesnt work so that must show that there is a problem with my FSUIPC dont you agree? Not necessarily. Really unless you show me the log and start using the tools provided to help you, I don't see how I can give any further advice at all. Please, to start with, simply look in the FS Modules folder, find the FSUIPC.LOG file, and see what it says. That's the first thing to do always. Second, assuming that part's okay, is to use the IPC logging and possibly verify your installation with FSInterrogate. These tools are provided to HELP YOU and to save everyone a lot of time. Regards, Pete
davy2001 Posted October 21, 2005 Author Report Posted October 21, 2005 Hi Pete and jd, Not even to the example in the SDK. I am using FS Interrogate. I used it to get the code of Slew Mode. It just doesnt connect to FSUIPC. Like i keep saying over and over, i get error 7 which means Incorrect Version. SIM_ANY and SIM_FS2k4 both dont work so soemthing must be wrong somewhere. Pete, in the log file i just found this.. 73344 C:\Documents and Settings\David\Desktop\Project1.exe 73359 Product="FSPROG" 73359 Company="Home" Does that mean it has opened the connection correctly? Please can one of you send me a working copy of a VB program that accesses FSUIPC then that way i will know if it is working or not? Thanks in advance, Dave
davy2001 Posted October 21, 2005 Author Report Posted October 21, 2005 Ok, i have an update for you, i reinstalled FSUIPC and now it is connecting because Flight Simulator goes mad saying that it is unregistered. So basically i cant do what i was wanting to do unless i buy FSUIPC? Oh well, i wont be able to do this now as im a full time student and i am always very low on funds. Thank you for your help guys.
Pete Dowson Posted October 21, 2005 Report Posted October 21, 2005 Like i keep saying over and over, i get error 7 which means Incorrect Version. Actually it says here "Incorrect version of FSUIPC, or not FSUIPC". Looking at the code it gives error 7 on Open (only!) if the version number is older than 1.998e or if the validity check word at offset 330A is not equal to hex "FADE". Pete, in the log file i just found this.. 73344 C:\Documents and Settings\David\Desktop\Project1.exe 73359 Product="FSPROG" 73359 Company="Home" Does that mean it has opened the connection correctly? It means that the Open has sent a message. There will be entries later in the log saying more, expecially if you enabled IPC read/write logging as I asked. Please just run the program, then close down FS show show me the complete log, not just your chosen snippets. Please can one of you send me a working copy of a VB program that accesses FSUIPC then that way I will know if it is working or not? I have no VB program sources other that the one in the SDK, which works as far as I know (at least with a user registered FSUIPC -- but it certainly will not fail error 7 even without). To check your installation of FSUIPC simply try FSInterrogate, or any of the free little programs I supply in the FSUIPC ZIP, such as TrafficLook and WeatherSet2. Regards, Pete
davy2001 Posted October 21, 2005 Author Report Posted October 21, 2005 Ahh the reason it wasnt working earlier was because my version must have been too old and when i downloaded and installed your new version it worked well sort of worked but i need to have a special accredited key which i had to request from pete. Thanks for both your help. As my friend always says to me RTFM (need i say what that means :P). Thanks again Dave
Pete Dowson Posted October 21, 2005 Report Posted October 21, 2005 Ahh the reason it wasnt working earlier was because my version must have been too old and when i downloaded and installed your new version it worked ... But many messages ago you said: To prove this, i checked the error number with the numbers in the bas file and i got error number 7 which means incorrect version of FSUIPC but why am i getting this if i have the latest version (3.5.0)? Anyway, I don't understand at all. As I said, the only version which is "too old" as far as Error 7 is concerned is one which is older than 1.998e, which would date it to about 5 or 6 years ago I think! Regards, Pete
davy2001 Posted October 21, 2005 Author Report Posted October 21, 2005 Yeah i was a noob and thought i had the latest version so i went to your website and got the latest version number. I dont know what was wrong. It must have been my incorrect coding in VB before. I know when programming in PHP you get an error just by missing off a simple " or a ;. Dave
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now