Click here to Skip to main content
15,845,598 members
Home / Discussions / C#
   

C#

 
QuestionGroup of Checkboxes Pin
eejaynic17-Jan-17 12:41
eejaynic17-Jan-17 12:41 
AnswerRe: Group of Checkboxes Pin
Gerry Schmitz17-Jan-17 14:02
mveGerry Schmitz17-Jan-17 14:02 
GeneralRe: Group of Checkboxes Pin
eejaynic17-Jan-17 15:11
eejaynic17-Jan-17 15:11 
GeneralRe: Group of Checkboxes Pin
Gerry Schmitz17-Jan-17 15:53
mveGerry Schmitz17-Jan-17 15:53 
AnswerRe: Group of Checkboxes Pin
Richard Deeming18-Jan-17 3:04
mveRichard Deeming18-Jan-17 3:04 
GeneralRe: Group of Checkboxes Pin
eejaynic18-Jan-17 10:03
eejaynic18-Jan-17 10:03 
QuestionCommunicating with unmanaged DLL Pin
Member 1041441717-Jan-17 3:43
Member 1041441717-Jan-17 3:43 
AnswerRe: Communicating with unmanaged DLL Pin
Midi_Mick17-Jan-17 4:19
professionalMidi_Mick17-Jan-17 4: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 5:13
Member 1041441717-Jan-17 5:13 
AnswerRe: Communicating with unmanaged DLL Pin
Bernhard Hiller18-Jan-17 0:26
Bernhard Hiller18-Jan-17 0:26 
QuestionRe: Communicating with unmanaged DLL Pin
Member 1390693510-Jul-18 23:01
Member 1390693510-Jul-18 23:01 
QuestionGlade errors after launching debug Pin
Sascha Manns17-Jan-17 0:18
professionalSascha Manns17-Jan-17 0:18 
AnswerRe: Glade errors after launching debug [Solved] Pin
Sascha Manns17-Jan-17 6:41
professionalSascha Manns17-Jan-17 6:41 
QuestionImplementing Strategy Pattern Pin
Liagapi16-Jan-17 23:20
Liagapi16-Jan-17 23:20 
AnswerRe: Implementing Strategy Pattern Pin
Pete O'Hanlon16-Jan-17 23:46
subeditorPete O'Hanlon16-Jan-17 23:46 
GeneralRe: Implementing Strategy Pattern Pin
Liagapi17-Jan-17 0:22
Liagapi17-Jan-17 0:22 
GeneralRe: Implementing Strategy Pattern Pin
harold aptroot17-Jan-17 0:05
harold aptroot17-Jan-17 0:05 
GeneralRe: Implementing Strategy Pattern Pin
Liagapi17-Jan-17 3:25
Liagapi17-Jan-17 3:25 
AnswerRe: Implementing Strategy Pattern Pin
F-ES Sitecore17-Jan-17 0:18
professionalF-ES Sitecore17-Jan-17 0:18 
GeneralRe: Implementing Strategy Pattern Pin
Liagapi17-Jan-17 0:28
Liagapi17-Jan-17 0:28 
GeneralRe: Implementing Strategy Pattern Pin
Bernhard Hiller18-Jan-17 0:21
Bernhard Hiller18-Jan-17 0:21 
AnswerRe: Implementing Strategy Pattern Pin
Gerry Schmitz17-Jan-17 6:48
mveGerry Schmitz17-Jan-17 6:48 
QuestionConvert DateTimeOffset to DateTime in Linq To Entities Pin
Kevin Marois16-Jan-17 14:18
professionalKevin Marois16-Jan-17 14:18 
AnswerRe: Convert DateTimeOffset to DateTime in Linq To Entities Pin
Pete O'Hanlon16-Jan-17 23:52
subeditorPete O'Hanlon16-Jan-17 23:52 
GeneralRe: Convert DateTimeOffset to DateTime in Linq To Entities Pin
Kevin Marois17-Jan-17 6:08
professionalKevin Marois17-Jan-17 6: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.