Subscribe

Join the Mailing List
Enter your name and email address below:
Name:
Email:
Subscribe  Unsubscribe 

Monday, May 19, 2008

My MSDN problem sloved.

Answer for my MSDN posting given Below
I followed this Struct layout in C#

[StructLayout(LayoutKind.Sequential)]

public struct TrackDetails
{
ushort Trackid;
ushort Range;
ushort Azimuth;
ushort speed;
ushort heading;
ulong Easting;
ulong Northing;
ushort TrkClassification;
ushort RadarID;

};



Marshalling the struct datas as arrays.
public struct Info
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
public TrackDetails[] trk1;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
public TrackDetails[] trk2;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
public TrackDetails[] trk3;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
public TrackDetails[] trk4;
// TrackDetails[] trk;

};




Am passing the Struct Info in TrkMstToDisplay.. And Am Processing the struct..Its working also

public unsafe void TrkMstToDisplay(Info info, int y)
{
Int16 a = 0;

//Info infoBuff;
TrackDetails[] RadOneTracks = new TrackDetails[100];
TrackDetails[] RadTwoTracks = new TrackDetails[100];
TrackDetails[] RadThreeTracks = new TrackDetails[100];
TrackDetails[] RadFourTracks = new TrackDetails[100];
for (a = 0; a < 100; a++)
{
RadOneTracks[a] = info.trk1[a];
RadTwoTracks[a] = info.trk2[a];
RadThreeTracks[a] = info.trk3[a];
RadFourTracks[a] = info.trk4[a];
}

EvntTrackMsg.Set();
}


Happy Programming
cheers
Gowthamraghavan.tr


No comments:

Horoscope