Jump to content
The simFlight Network Forums

Recommended Posts

Posted

Hello,

Where could I download the DLL file and the XML file of the .Net Assembly in 64 bits of the version 3 ?

In the package of FSUIPC there is only version 2.4 in 32 bits and I can't use it.

I need them to work with Windev (WLanguage).

Thank's
Did.

Posted

Hi Didier,

I only distribute it on NuGet now as it's much easier for me, and also for the users to keep up-to-date.

If WinDev doesn't support NuGet you can use Visual Studio to download the package into a blank project and pick up the files from there.

Or, you can download the package directly from the NuGet website:

https://www.nuget.org/packages/FSUIPCClientDLL/

Rename the .nupkg to .zip, then you can just unzip it and get the DLL and XML from the 'lib' folder.

Paul

Posted
Quote

Could you tell me if the DLL works on 64 bits or 32 bits ?

It's compiled to target "any cpu" so it will compile to 32bit or 64bit depending on the application it's used in.

Paul 

Posted

Hello Paul,

Thank's I can now import .net assembly of FSUIPCCLient il Windev program. 🙂

I can connect to FSUIPC, but when I want to call "FSUIPCConnection.Process()", i've an error (I've transleted in english) :
"Error: The invocation of method <Process ()> of type <Void> failed. The .NET Framework returned the following error: Group "" does not exist."

My .NET Framework si 4.8 (windows 10).

Have you an idea to resolve this ?

After, i've problem to read Offset because I can't create object with Offset() or Offset<T> in Windev. I cannot instantiate an Object with Offset. I've an error like this : "Wrong parameter for the constructor of the Offset Class".

Another question : do you speak french ? I ask this because there is some french sentence in the  VB example code (Visual Studio) 🙂

Thank's Paul.

Didier

Posted

Hi Didier,

Quote

Group "" does not exist."

Have you an idea to resolve this ?

This happens when you try to Process() but there are no Offsets created. This will be work if we can solve your next problem:

Quote

i've problem to read Offset because I can't create object with Offset() or Offset<T> in Windev. I cannot instantiate an Object with Offset. I've an error like this : "Wrong parameter for the constructor of the Offset Class".

Can you post your code here (where you create offsets)?. Maybe I can see the problem.

Quote

do you speak french

A bit, but I'm not fluent.

Paul

Posted

Ok for Process()....

So here is my code :

================================================================================
MessageErreur is string

Offset_Airspeed is 4-byte unsigned int
Offset_Airspeed = 0x02BC

MonOffset is Offset(Offset_Airspeed)  <== HERE IS THE ERROR

WHEN EXCEPTION IN
    FSUIPCConnection::Open()  <== works OK
DO
    ExceptionInfo(errMessage)
END

IF FSUIPCConnection::IsOpen THEN  <== works OK
    Info("FSUIPC7 Connecté à " + FSUIPCConnection.FlightSimVersionConnected.ToString())
ELSE
    Error("FSUIPC7 déconnecté !")
END

WHEN EXCEPTION IN
    FSUIPCConnection.Process()  <== HERE IS THE ERROR
DO
    // Message complet de l'erreur principale
    MessageErreur = "erreur : " + ExceptionInfo(errMessage) + CR
    // Parcours des sous-erreurs (s'il y en a)
    FOR i = 1 _TO_ ExceptionInfo(errNumberSubError)
        // Message complet de chaque sous-erreur
        MessageErreur += "Sous-erreur " + i + " : " + ExceptionInfo(errMessage, i)
    END
    Info(MessageErreur)
END

================================================================================


I can't read FSUIPCException too... 😞


Thank's
Didier


 

 

 

 

Posted

Looking at the WinDev documentation for .NET (https://doc.windev.com/en-US/?2012002&name=Using_NET_assemblies) I think you need to declare the offset like this:

Offset_Airspeed is "Offset<4-byte unsigned int>"(0x02BC)

Then use the value like this:

AirspeedKnots is real
AirspeedKnots = Offset_Airspeed.Value / 128.0

I can't test this however.

The strongly-typed offset (with <>) is easier to use. If you really want to use the base Offset() class then you also need to include the length of the offset:

Offset_Airspeed is Offset(0x02BC, 4)

Paul

Posted

Fine !!!!!!!!!!

thank's

The code is :

=================================================
Offset_Airspeed    is "Offset<Uint>"(0x02BC)

AirspeedKnots    is real

AirspeedKnots = Offset_Airspeed.Value / 128.0

================================================

I'll try other possibility and I'll say to you result 🙂 🙂 🙂 🙂

Thank's Paul !!

 

 

Posted

Hello Paul,

I come back to you, perhaps have you an Idea to read Lights 🙂

I use this :


     Lights  is "Offset<FsBitArray>"(0x0D0C, 2)

And when I want to read the value of Navigation lights ("0") like this :

     Lights.Value[0]   ---> (I can't use Lights.Value(0) , cause it's for Functions)

I've an error : "Unable to access subitem"
I've same error when I try Lights.Value[1] for Beacon .... etc...

So I've tried to instanciate with
     Lights  is "Offset<BitArray>"(0x0D0C, 2)
but it's same issue...

Have you an idea to resolve this ?

Thank's Paul.

Posted

Hi Didier,

In .NET the array access for these classes is fake. The compiler will replace myBitArray[2] with myBitArray.Get(2). 

It looks like WinDev doesn't understand this, so try calling the Get() function directly:

Lights.Value.Get(0)
Lights.Value.Get(1)
etc...

Paul

Posted

Thank's Paul...

I think it's good, i've right response...

If I want to change value, I think I use
     Lights.Value.Set(0) = 1 or  Lights.Value.Set(0, 1)
or
     Lights.Value.Set(0) = 0 or Lights.Value.Set(0, 0)

That's right ?

Thank's Paul !!!!!!!! 🙂 🙂 🙂 🙂

Posted

I've tried
Lights.Value.Set(0) = True  ==> Error  = no syntaxe for Set()
Lights.Value.Set(0, True) ==> Syntaxe OK

That's works fine ! 🙂 🙂 🙂

 

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
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.