|
How to marshal them as String??
|
|
|
|
|
Hi,
I have a cli::array that I need to convert to a Byte[] (unsigned char[]).
I have code as follows:
Byte ImageBytes []= Convert::FromBase64String(structParam->m_sValue);
m_sValue is a String ^.
However, this gives me the following error:
error C2440: 'initializing' : cannot convert from 'cli::array<type,dimension> ^' to 'unsigned char []'
I have looked everywhere, but have not found a way to do this. I am sure I missed it somewhere.
How would this be done?
Thanks!
----------------------
William Dicks
|
|
|
|
|
WilliamD wrote: Byte ImageBytes []= Convert::FromBase64String(structParam->m_sValue);
should be:
array<Byte>^ ImageBytes = Convert::FromBase64String(structParam->m_sValue);
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
|
The Common Language Specification (CLS) specifies that pointer types must be replaced by System::IntPtr so that they will be usable by other .NET languages.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
Hi,
We're currently implementing a game application using directX with MFC. We have came across the option to use windows forms (in C++) which will simplify the GUI dev. Since one of the requirements is to support Win2000 clients (estimated around 5% of the global PC market!) the trade off is the CLR redist package that we'll have to bring along.
My questions are: did anybody wrote windows forms in c++ with DirectX? If so, what are the cons and pros? And in general is it a good idea to use managed c++ with directX.
I'll appriciate experienced answers.
Thanks in advance.
Snir_ya.
|
|
|
|
|
I haven't done any DirectX work in managed C++, but I am currently converting an old MFC/OpenGL app of mine into managed C++ with OpenGL. If you're worried about performance loss in switching to a managed environment, I haven't noticed any. And yes, it is SO NICE to be able to use .NET for rapid GUI development!
|
|
|
|
|
hello,
having a problem with an application that I'm trying to build in release mode. it builds, but when starts it gives me an error about the internal state of the program being corrupted ....
it is a C++/CLI application that works well in debug mode.
internally it uses std::strings to pass as parameters to the C++ module.
when working with std::strings in CLI they always have the size above 10000 elements, and a .clear() does not have any effect.
using VS2005
any ideas ?
|
|
|
|
|
as a response to my question:
the C++ module needs to be build in release mode with "multi threaded debug dll" option otherwise it does not work.
|
|
|
|
|
How are you marshaling System::String to std::string?
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
|
First I have to apologize for my bad english.
I now working as a audio/graphics programmer for my professor.
My past project is a game/speech recognition program that use following library.
- the launguage used is c++ (vc++ 6.0)
- MFC (for database front end / GUI)
- OpenGL (for 3d graphics rendering)
- ADO (for MS ACCESS database programming)
- port audio (for audio capturing)
which is working fine ,but lately my clients request something that not easily implement in MFC (compare to what I have done in c#) like On the fly dialog font changing , heavily dialog/control skinning .
So is it a good Idea to learn c++/cli ? Since I really want to use those
simple GUI implementation method in .NET but still want to use old c/c++ library
Some questions :
1.is it possible to use unmanaged c++ class/object in managed scope ?
2.Is there a built in audio capturing in .NET library ?
3.does .NET natively support UNICODE ?
4.any other suggestion ?
Thank in advance
|
|
|
|
|
xanagan666 wrote: 1.is it possible to use unmanaged c++ class/object in managed scope ?
I think so, but I would try and avoid it; working with .NET objects is easier for me.
xanagan666 wrote: 2.Is there a built in audio capturing in .NET library ?
Don't know. Maybe in DirectX?
xanagan666 wrote: 3.does .NET natively support UNICODE ?
Yes, alls its chars and strings use it all the time.
xanagan666 wrote: 4.any other suggestion ?
You can convert unmanaged C++ code to managed C++, don't know how difficult that is
(my experience is mainly with C# and unmanaged C, interfaced thru P/Invoke).
You can mix managed C++ and C# (but not in the same DLL), so if you succeed in
encapsulating your existing C++ code, you could do the new stuff (such as GUI) in C#
if you prefer that.
|
|
|
|
|
Thank for your reply.
Converting library from c/c++ to managed code will be out of question Since it very complex (for me) and written by my professor who never work with .NET environment.
The library also devolop in c/c++ for portibility.
If .NET is not an answer , may be I will try to find other
free-native-GUI library that easy to work with.
Any suggestion ?
|
|
|
|
|
I have used C++/CLI, native C++ and C together in many projects. Since you have some native C++ and C# experience, that is a plus. However, there are a lot of gotchas when mixing managed and unmanaged code.
xanagan666 wrote: 1.is it possible to use unmanaged c++ class/object in managed scope ?
Yes! Unmanaged C++ in an assembly is private. So, manage languages, including C++/CLI, cannot see the code via an assembly. Also, you can wrap unmanaged classes within managed C++/CLI classes. You have to be very careful with unmanaged resources, however.
xanagan666 wrote: 2.Is there a built in audio capturing in .NET library ?
Sorry, I do mostly systems programming.
xanagan666 wrote: 3.does .NET natively support UNICODE ?
UNICODE is supported and used by default.
xanagan666 wrote: 4.any other suggestion ?
Here are some books that are quit helpful:
C++/CLI: The Visual C++ Lanuage for .NET, Gordon Hogenson
---This is kind of a C++/CLI Primer
C++/CLI in Action, Nishant Sivakumar
---Good book to have for managed and unmanaged programming
Expert C++/CLI: .NET for Visual C++ Programmers, Marcus Heege
---Advanced managed and unmanged programming
Pro Visual C++/CLI amd the .NET 2.0 Platform, Stephen R. Fraser
----Teaches C++/CLI usage with the .NET Framework
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
Thank everyone for your suggestions .
|
|
|
|
|
i have a file which contains some records. now i need to pick up one particular record and pass it. how do i do that. now i am hardcoding the value. there is a descroiption for this value. i need to search for this description and pass the value. how do i do that?
|
|
|
|
|
Normally, if you save records to a file. Each record will have some kind of key to be used to find a certain record. If you are looking for information without a key, you will need to read each record using .NET IO classes and match the "description" using .NET string functions (You are using C++/CLI aren't you).
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
hi
i need to write some data into CD, by C++ programming
is there any windows API ? or any thing to do ??
and i also validate the size of the DISK befor i write..
how can i do that??
thanks
|
|
|
|
|
Of course your choice for ask this question was wrong you must asked on the Visual C++ but anyway see this[^] article.
|
|
|
|
|
Hi all
After I converted my file from bmp to gif format image then ,an attempt to compile, and the next compilation error merged:
"error RC2170 : bitmap file res\btn_accept_regular.gif is not in 3.00 format"
Any body has a clue abut this error? MSDN gives nothing usful!
|
|
|
|
|
Hi,
1.
Google knows about RC2170 (both resource compiler errors and khaki shorts)
2.
how did you convert from bmp to gif? why didn't you use your own .NET app for this, that would
ensure the same or other app would later understand the gif file.
|
|
|
|
|
hi,
i am developing a program which uses non-unicode character set. hence the language is not English, i should change the system setting in "Regional and Language Option" by fixing "Language for non-Unicode Programs" parameter.
how can i do this setting programmatically or via installer (msi file)?
thanks.
Hamid
|
|
|
|
|
Hi,
Sorry, I don't know and I even do not want to know.
Regional settings is where the user, a human being, tells the system his preferences,
a program should never change those. It is up to the user to choose a language, a currency,
a date and time format, etc.
|
|
|
|
|
Hi All,
I've got the following code (it's been abbreviated to simplify the discussion). I'm getting a byte order swap. How do I avoid it? Casting gives no joy, since these are cast to void* by memcpy().
byte ctr[ AES::BLOCKSIZE ];
memset( ctr, 0x00, sizeof( ctr ) );
int pos = 12;
int t = 0xAABBCCDD;
memcpy( &ctr[ pos ], (byte*)&t, sizeof( t ) ); I expect ctr[12]=0xAA, ctr[13]=0xBB, ctr[14]=0xCC, ctr[15]=0xDD. However, it's reversed: ctr[12]=0xDD, ..., ctr[15]=0xAA.
Can anyone explain the behavior? I sure did not expect it.
Jeff
|
|
|
|