|
Hello!
I want to compare the type of an object to a class.
What is the correct syntax to use? In my case, I
want to know if a control is an instance of MdiClient.
GetType works on the pointer, but not on the class.
typeid(MdiClient) gives me error C3767.
Alex
|
|
|
|
|
if (some_ref_handle->GetType() == MdiClient::typeid)
{
}
|
|
|
|
|
Thank you!
At first I got an error because MdiClient is a private(?) member
of the class (which is not shown in the IntelliSense list).
But with
Windows::Forms::MdiClient::typeid
it works.
Alex
|
|
|
|
|
Cool
LionAM wrote: MdiClient is a private(?) member
of the class
MdiClient IS the class.
LionAM wrote: But with
Windows::Forms::MdiClient::typeid
it works.
Oops - I guess I assumed "using namespace Windows::Forms;"
typeid needs to know the type at compile time. You could also use something like
if (some_ref_handle->GetType() == Type::GetType("Windows::Forms::MdiClient"))
for a runtime check.
Cheers,
Mark
|
|
|
|
|
Hello!
::MdiClient::typeid works, but MdiClient::typeid
gives
error C3223: 'System::Windows::Forms::Form::MdiClient' : you cannot apply 'typeid' to a property
Alex
|
|
|
|
|
MdiClient is in the System::Windows::Forms namespace, not the
System::Windows::Forms::Form namespace (which doesn't exist -
System::Windows::Forms::Form is a class).
Either of these should work:
using namespace System::Windows::Forms;
...
if (objectref->GetType() == MdiClient::typeid)
or
if (objectref->GetType() == System::Windows::Forms::MdiClient::typeid)
Mark
|
|
|
|
|
Hi all,
I have a server application that sends a udp message to clients,
But it receives the message as well,
And I don't want this....
I want only other clients Receive the message.
Please help me,
Thank you.
Every new thing you learn,Gives you a new personality.
|
|
|
|
|
dSolariuM wrote: I have a server application that sends a udp message to clients
HoW?
Mark
|
|
|
|
|
Dear experts,
I have the following problem.
I have "C++ - unmanaged code" and I want to use it in my managed C#-Applications. Therefore I have a "managed C++" - wrapper around my "unmanaged C++ - Code"
At the end I have the following "call-sequence"
"Managed C#" -> "Managed C++" -> "Unmanaged C++"
All works fine, but the problem beginns at debugging the unmanged C++-Code.
a) I cannot step-into the "unmanged C++-Code"
b) The unmanged objects are not expanded in the debugger
Does somebody have any advice?
Kind regards
|
|
|
|
|
Ok,
I found the solution the "stop-into"-Problem by Myself: Just the the debugger-option to: "Enable unmanaged code debugging".
What remains is the second problem: The unmanaged objects are not expanded.
Kind regards
|
|
|
|
|
Hallo,
I found another part of solution.
If I set for all 3 components the debugger-option to "mixed mode" than I can expand the "unmanged objects" in the "managed C++"-Wrapper )))
But I still cannot expand my "unmanaged C++"-objects in my "manged C#"-Code.
I fear, this is not possible due to totally different languages
Kind regards
|
|
|
|
|
How can I get Decimal separator in the system that my program run
I use Visual c++ NET
|
|
|
|
|
Hello!
Have a look at:
System::Globalization::CultureInfo::CurrentCulture->NumberFormat->NumberDecimalSeparator
Alex
|
|
|
|
|
|
Dear All,
I have a telephone field on my form for example, it can be Account number, how can I format my text1 field so that what I Capture be what I need.
|
|
|
|
|
I have a project written in C++,and I want to use the .NET framework as the architecture in the next version. Rewrite all the code in C# is impossible, so I give my attention to C++/CLI.
I have less understanding about this tech, I only know these points about it:
1.The original C++ code can be compiled in the C++/CLI compiler
2.I can use all of the C++ function in the new platform
3.I can use all of the .NET framework function in my C++ code
4.For deploy issue, I will only need to install the .NET framework will my application, then everything could be OK
Are there any other things need to be noticed?
|
|
|
|
|
Tal Rasha's Guardianship wrote: 4.For deploy issue, I will only need to install the .NET framework will my application, then everything could be OK
You may need to deploy additional things used by your C++ code, like MFC and/or the CRT libraries.
You should also understand interop between native and managed code, if it applies.
Visual C++ .NET Programming Guide[^]
Mark
|
|
|
|
|
Thanks for your reply.
I cared about if C++/CLI can be used in a large C++ project, are there any troubles may happen?
|
|
|
|
|
C++/CLI is great for making the transition from native C++ to the managed .NET
world - that's it's intended purpose. If you have C++ code and you want to use
the .NET framework then it's great.
Eventually you'll notice that the development tools using C# are much better, but
C++/CLI let's you use your existing C++ code as you make the transition.
I use C++/CLI extensively, along with native C++ and C#. There's no troubles that are any
different than using any other .NET language. Having the rich .NET framework available to
existing C++ code is great.
It's worth taking the time to study and understand the fundamentals of managed programming.
Especially important is performance-critical applications if you're making a lot of transitions
between managed and unmanaged code.
C++: The Most Powerful Language for .NET Framework Programming[^]
CLR Development (How Do I in Visual C++)[^]
Mark
|
|
|
|
|
Hi, I'm using Visual Studio 2005 C++/CLI. I have a requirement that needs to write some ASCII to a file followed by binary data. I set up a BinaryWriter(FileStream) and everything is okay except that there is a byte preceding the String^ variables denoting the number of characters to follow. I do not want these "extra" bytes in the file. Is there a way to surpress these bytes from being written to the file?
Thanks,
Buck
|
|
|
|
|
You need to write the String chars yourself.
BinaryWriter has a Write() method that writes a Char.
for (int i = 0; i < str->Length; i++)
writer->Write(str[i]);
Of course, you won't be able to read the data back in as a String
without some way of indicating where strings end in the file.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
After I have finished my Visual c++ NEt 2005 Application, I try to execute it in an other PC: just a Copy the exe file. I have a message the configuration is incorrect.
What to do ?
|
|
|
|
|
Install Visual Studio Redistributable, and you must click on properties of your project -> Configuration properties and Configuration change from DEBUG to RELEASE.
I must install .NET framework 3.5 to another computer. It is working on Vista, under XP It dont works.
|
|
|
|
|
You have been a member long enough to know that's wrong, what a jerk.
Also, are you planning on ever learning how to research, study and learn on your own or are you planning on asking anonymous people on internet forums for all your information for the rest of your career, however short that may be?
led mike
|
|
|
|
|
What do you lose if you reply me ?. I am at the end of my two applications in Visual c++ NET 2005, I am very happy for that.
I greeting All who have help me. Congratulations to CodeProject with Led Mike who don't like me.
I need your help to who need the World go ahead. The deployment of Visual c++ NET Application is not easy.
|
|
|
|