Click here to Skip to main content
15,891,253 members
Home / Discussions / C#
   

C#

 
QuestionGroup of Checkboxes Pin
eejaynic17-Jan-17 11:41
eejaynic17-Jan-17 11:41 
AnswerRe: Group of Checkboxes Pin
Gerry Schmitz17-Jan-17 13:02
mveGerry Schmitz17-Jan-17 13:02 
GeneralRe: Group of Checkboxes Pin
eejaynic17-Jan-17 14:11
eejaynic17-Jan-17 14:11 
GeneralRe: Group of Checkboxes Pin
Gerry Schmitz17-Jan-17 14:53
mveGerry Schmitz17-Jan-17 14:53 
AnswerRe: Group of Checkboxes Pin
Richard Deeming18-Jan-17 2:04
mveRichard Deeming18-Jan-17 2:04 
GeneralRe: Group of Checkboxes Pin
eejaynic18-Jan-17 9:03
eejaynic18-Jan-17 9:03 
QuestionCommunicating with unmanaged DLL Pin
Member 1041441717-Jan-17 2:43
Member 1041441717-Jan-17 2:43 
AnswerRe: Communicating with unmanaged DLL Pin
Midi_Mick17-Jan-17 3:19
professionalMidi_Mick17-Jan-17 3:19 
You need to convert your managed char array into a pointer that is safe for the unmanaged code to use. To do this, you need to use the fixed keywords when you call the function
C#
char[] strAnswer = new char [50];

fixed(char* pArray = strAnswer) {
   blob = RWH_DLL.RWH.CR95HFDLL_getHardwareVersion(pArray);
}

return false;

you will have to also declare the GetRWBoard method as unsafe

Having said this, I prefer to use unmanaged memory when calling into native functions, and utilise the Marshal class for copying the data into managed memory. As such, I would write the routine as:
C#
public static extern UInt32 CR95HFDLL_getHardwareVersion(IntPtr returnString);
//...

IntPtr returnString = Marshal.AllocHGlobal(50);
blob = RWH_DLL.RWH.CR95HFDLL_getHardwareVersion(returnString);

// Now either copy returnString into the char array or, better yet, into a string

string strAnswer = Marshal.PtrToStringANSI(returnString);
// or
char[] arryAnswer = new char[50];
Marshal.Copy(returnString, arryAnswer, 0, 50);

Marshal.FreeHGlobal(returnString);
return false;

Cheers,

Mick
------------------------------------------------
It doesn't matter how often or hard you fall on your arse, eventually you'll roll over and land on your feet.

GeneralRe: Communicating with unmanaged DLL Pin
Member 1041441717-Jan-17 4:13
Member 1041441717-Jan-17 4:13 
AnswerRe: Communicating with unmanaged DLL Pin
Bernhard Hiller17-Jan-17 23:26
Bernhard Hiller17-Jan-17 23:26 
QuestionRe: Communicating with unmanaged DLL Pin
Member 1390693510-Jul-18 22:01
Member 1390693510-Jul-18 22:01 
QuestionGlade errors after launching debug Pin
Sascha Manns16-Jan-17 23:18
professionalSascha Manns16-Jan-17 23:18 
AnswerRe: Glade errors after launching debug [Solved] Pin
Sascha Manns17-Jan-17 5:41
professionalSascha Manns17-Jan-17 5:41 
QuestionImplementing Strategy Pattern Pin
Liagapi16-Jan-17 22:20
Liagapi16-Jan-17 22:20 
AnswerRe: Implementing Strategy Pattern Pin
Pete O'Hanlon16-Jan-17 22:46
mvePete O'Hanlon16-Jan-17 22:46 
GeneralRe: Implementing Strategy Pattern Pin
Liagapi16-Jan-17 23:22
Liagapi16-Jan-17 23:22 
GeneralRe: Implementing Strategy Pattern Pin
harold aptroot16-Jan-17 23:05
harold aptroot16-Jan-17 23:05 
GeneralRe: Implementing Strategy Pattern Pin
Liagapi17-Jan-17 2:25
Liagapi17-Jan-17 2:25 
AnswerRe: Implementing Strategy Pattern Pin
F-ES Sitecore16-Jan-17 23:18
professionalF-ES Sitecore16-Jan-17 23:18 
GeneralRe: Implementing Strategy Pattern Pin
Liagapi16-Jan-17 23:28
Liagapi16-Jan-17 23:28 
GeneralRe: Implementing Strategy Pattern Pin
Bernhard Hiller17-Jan-17 23:21
Bernhard Hiller17-Jan-17 23:21 
AnswerRe: Implementing Strategy Pattern Pin
Gerry Schmitz17-Jan-17 5:48
mveGerry Schmitz17-Jan-17 5:48 
QuestionConvert DateTimeOffset to DateTime in Linq To Entities Pin
Kevin Marois16-Jan-17 13:18
professionalKevin Marois16-Jan-17 13:18 
AnswerRe: Convert DateTimeOffset to DateTime in Linq To Entities Pin
Pete O'Hanlon16-Jan-17 22:52
mvePete O'Hanlon16-Jan-17 22:52 
GeneralRe: Convert DateTimeOffset to DateTime in Linq To Entities Pin
Kevin Marois17-Jan-17 5:08
professionalKevin Marois17-Jan-17 5:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.