c++-cli

Do I still write String^ const in C++/CLI

In C++ it's recommended to have const-correctness everywhere. But since in .Net world, the string content cannot be changed, (new string will be created), do I still write String^ const? ...

Using memcpy to copy managed structures

Hi, I am working in mixed mode (managed C++ and C++ in one assembly). I am in a situation something like this. ManagedStructure ^ managedStructure = gcnew ManagedStructure(); //here i set different properties of managedStructure then I call "Method" given below and pass it "& managedStructure" Method(void *ptrToStruct) { Manag...

Are Inherited Forms And/Or Inherited Controls possible in Managed C++

Hello everyone The question is actually pretty self explanatory but I will further clarify it. I am building a simple application to show a load [file] for 5 different types of [files]. So all these 5 forms will have similar GUI elements such as a listbox and a load button with a small textbox/label to show the summary of the [file]'s ...

P/Invoke or C++/CLI for wrapping a C library

Have a moderate size (40-odd function) C API that needs to be called from a C# project. The functions logically break up to form a few classes that will be API presented to the rest of the project. Are there any objective reasons to prefer P/Invoke or C++/CLI for the interoperability underneath that API, in terms of robustness, maintain...

Unmanaged C++ in .net

Hi, can someone please tell why , Great Microsoft that created C# language and now we're in C# 4.0 , dont have an important feature that C++\CLI has !!,which is to directly compile and link with un-managed c++ ?? ...

Why can't I create a templated sublcass of System::Collections::Generic::IEnumerable<T>?

I want to create a generic IEnumerable implementation, to make it easier to wrap some native C++ classes. When I try to create the implementation using a template parameter as the parameter to IEnumerable, I get an error. Here's a simple version of what I came up with that demonstrates my problem: ref class A {}; template<class B> re...

C++/CLI HTTP Proxy problems...

Hi, I'm trying(very hard) to make a small HTTP Proxy server which I can use to save all communications to a file. Seeing as I dont really have any experience in the area, I used a class from codeproject.com and some associated code to get started (It was made in the old CLI syntax, so I converted it). I couldn't get it working, so I adde...

Can I program C++/CLI using Visual Studio Express 2008?

Are any of the Visual Studio Express editions able to work with C++/CLI code? Currently when I go to "Add File" in either the C# 2008 or C++ 2008 versions I do not see the option for creating C++/CLI. ...

Array of structures CLI

public value struct ListOfWindows { HWND hWindow; int winID; String^ capName; }; thats my structure now i have created an array of them: array<ListOfWindows ^> ^ MyArray = gcnew array<ListOfWindows ^>(5); now to test if that works i made a simple function: void AddStruct( ) { HWND temp = ::FindWindow( NULL, "Test" ); if( te...

C++/CLI .ToString() returning error

I am a beginner to C++/CLI as I come from a C# background. I am currently writing a wrapper for some native C++ code. I have the following methods: void AddToBlockList(System::String^ address) { char* cAddress = (char*)(void*)Marshal::StringToHGlobalAnsi(address); _packetFilter->AddToBlockList(cAddress); } ...

VS 2008 irritating copy constructor link dependency

Hi guys, I've run into the following annoying and seemingly incorrect behaviour in the Visual Studio 2008 C++ compiler: Suppose I have a class library - Car.lib - that uses a "Car" class, with a header called "Car.h": class Car { public: void Drive() { Accelerate(); } void Accelerate(); }; What I'm actual...

Is there any way to get Visual Studio 2008 to update .net style comments automatically?

I've been writing a lot of VC++ 2008 / CLI software recently and am using the C#/CLI style documentation: /// <summary> /// Function the does stuff /// </summary> /// <param name="someParam">Specifies some option</param> /// <returns>true if it worked</returns> bool DoStuff( bool someParam ); I find myself re-typing those blocks quite...

Exposing an ISO C++ class to C#

I need to expose some C++ classes to C# (I am building on Linux, using mono, so COM is not an option) The evidence I have gathered so far suggests that the best way to approach this is: Write a wrapper C++.Net class around the ISO C++ class Consume the C++.Net classes from C# I have the following questions: First, is this the "bes...

Dealing with Expression Blend's lack of support for C++/CLI projects

I have a WPF C# project that references a C++/CLI mixed mode project. I'm having trouble using the WPF project in Expression Blend 3. I'm new to Blend so perhaps this is obvious, but it won't display the xaml designer properly until it builds the project. In my case it complains that my custom commands are not "recognized or accessibl...

How to link C# and C++ assemblies into a single executable?

I have VS2008 solution containg a project that generates a C# executable that references a project that generates a dll containing both C++/CLI and unmanaged C++. I would like to merge these into a single executable, as the C++ dll contains security code that I want to embed in the main executable. I cannot use ILMerge, as the dll cont...

Trying to create C++/CLI assembly for use in .NET

I'm trying to bring a C++ library into C#, so naturally I am trying to make a C++/CLI project. In visual studio I created a new project (Visual C++ project, class library). I then tried to make a test class out of the pre-generated "Class1" namespace Test { public ref class TestIt { public: void DoWork() {...

Checked list box

i want to do some actions when all items in checked list box are unchecked. There is only event ItemCheck but the check state is not updated until after the ItemCheck event occurs. I have a button and i want to do its enabled false when all items unchecked in checked list box System::Void frmMain::clbInstPrgs_ItemCheck(System::Object^ ...

Passing an array argument from C# to a C++/CLI method

I know only very little about C++/CLI, but I have a simple problem that needs a solution. I have a C++/CLI class method that takes a byte-array as a parameter. The array is of a pre-determined length, and can be allocated in C# beforehand. The array is supposed to be filled with data by the C++/CLI method. How do I declare the method an...

How to get an BITMAP struct from a RenderTargetBitmap in C++/CLI?

I've got a WPF RenderTargetBitmap in C++/CLI and I want to be able to create a BITMAP structure from it to use with BitBlt. I've not worked with BITMAP or RenderTargetBitmap much before, so any thoughts would be great! ...

Targeting .NET Framework 4.0

I just downloaded MSVS 2010 from university MSDN AA. The IDE itself is wonderful, I can't complain, but... I'm developing project that combines C#, C++/CLI and C++ (native core, cli bridge DLL and c# GUI). But the VS 2010 seems NOT TO support targeting .NET for C++/CLI projects unless VS 2008 is installed. Requiring both VS 2010 and 20...