|
I'm using CWinFormControl to create instances of .Net UserControls.
CWinFormsControl<myproject::mycontrol xmlns:myproject="#unknown"> m_control;
m_control.CreateManagedControl( WS_CHILD | WS_VISIBLE, rect, this, IDC_HOSTCONTROL );
This works fine. The problem occurs when I try to destroy the control. I need a deterministic call to the 'MyControl' finalizer, so I wrote the following:
m_control.DestroyWindow();
System::GC::Collect();
This code does not cause the Finalize\Dispose code to be called on 'MyControl'. In fact, 'MyControl' sticks around in memory until the MFC app closes. What am I doing wrong here?
Thanks,
Aaron
|
|
|
|
|
astibich2 wrote: I need a deterministic call to the 'MyControl' finalizer
Then why are you using a Garbage Collection system? Ever heard of the word "Contradiction"?
led mike
|
|
|
|
|
Hi
yesterday I was trying to build a program but i had a problem ...!
the problem was that when I put space (" ") in the string, it finishes the string aoutomatically , so what canI do to fix the problem?
notice that i cant use a array of characters in that solution
|
|
|
|
|
sajjy wrote: the problem was that when I put space (" ") in the string, it finishes the string aoutomatically
How? Some sample code would help!
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: How?
Probably using the space in his head.
led mike
|
|
|
|
|
Space....the final frontier....
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: Space....the final frontier
We kunt do it kaptin, we just dunt have the power!
led mike
|
|
|
|
|
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
sajjy wrote: the problem was that when I put space (" ") in the string, it finishes the string aoutomatically
Huh? As Mark suggested, please provide a snippet of the code that is causing this problem.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
Hi, I am new to CLI-Windows Forms programming and I need to perform this simple task:
1) Allow the user to enter a value in a Text Box (textBox1)
2) Assign such value to a variable of type double (variable1)
[I am having difficulties casting the string to double]
3) Perform computations on that variable
[I should be able to do this once it's a double]
4) Display the resulting value in another Text Box (textBox2)
Can someone be so kind to help me with the correct syntax I should use for each step?
Many thanks.
|
|
|
|
|
|
Thanks for the advice, it works. But I obviously get a crash when I leave the text box empty or I enter a non numerical value.
Here is the code I use to assign the value entered in the text box (as string) to a type double variable:
//
variable1 = double::Parse(textBox1->Text);
//
How can I solve this? Thanks!
|
|
|
|
|
J_E_D_I wrote: But I obviously get a crash when I leave the text box empty or I enter a non numerical value.
Use TryParse().
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I have tried:
//
double number;
variable1 = double::TryParse(textBox1->Text, number);
//
With the code above it's better and the program does not crash anymore.
However the problem is not completely solved because when I leave the text box empty or enter a character different from a number, the result of variable1 is zero, which causes an error in the calculation that follows.
How can I show an "Error" message when this has happened?
Alternatively, is there any way that I could make the textBox accept only numerical values and display an error in the other cases?
|
|
|
|
|
TryParse returns a bool.
double variable1;
if (double::TryParse(textBox1->Text, variable1))
{
}
else
{
}
Did your Visual Studio not come with MSDN library?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
This is a fantastic answer! Thank you so much, it solved the problem.
Mark Salsbery wrote: Did your Visual Studio not come with MSDN library?
Probably you guys super expert programmers manage to find what you are looking for in MSDN. I program in my spare time just for fun and I do not find them helpful AT ALL!! They seriously lack of simple examples for beginners like me and they take too much for granted. Regarding TryParse there was no specific example for c++.
Cheers!
|
|
|
|
|
J_E_D_I wrote: there was no specific example for c++
Hint: Use the C# examples. For most examples of using .NET framework classes, the only
difference will be
'->' in c++ instead of '.' in c#
gcnew in c++ instead of new in c#.
Cheers!
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
J_E_D_I wrote: Hi, I am new to CLI-Windows Forms programming and I need to perform this simple task:
See if this helps[^]
led mike
|
|
|
|
|
Awesome!
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: Awesome!
Nah, that was mildly amusing. This is awesome.[^]
led mike
|
|
|
|
|
Indeed!
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hi,
I am new to Visual C++/.Net, I have a simple question. I have a DateTimePicker object which I need to display future date in days (i.e. if you pick 11/21/2009, I will display 365 days).
I have managed to compute my 365 days and converted it to a char * but I am not able to assign the char* to the label Text i.e. Sysytem::String ^
Can anyone help me? Thanks in advance
|
|
|
|
|
If you have a number, just call ToString() to get a System::String^
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
niiAmoo wrote: I have managed to compute my 365 days and converted it to a char *
Why are you using char * in C++/CLI?
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Sorry, That was what I was used to . I tried this code and it worked
TimeSpan expirationDay = expirationDateTimePicker->Value.Date - expirationDateTimePicker->Value.Now.Date;
expiration->Text = expirationDay.Days.ToString();
Thanks for your help
|
|
|
|