|
piul wrote: Does anybody know if deleting pList frees all the allocated memory?
For each element created with new you need to call delete . Typically it looks like this: when you clear the list you iterate trough the list and call delete for each element in it and after that clear the list itself. Alternatively use a smart pointer[^] instead of a normal pointer -or- store elements instead of pointers (there is no need to store pointers in data containers).
Hope it helps.
/M
|
|
|
|
|
Hi,
Can we have our application as _UNICODE supported as well _MBCS supported?
I am in middle of a robust project, where we are using some third party sources. if i set my project to _UNICODE supported then it forces all the places where i am handling strings are to be wchar, TCHAR etc.,
can i make the same in some files, since it forces to make changes in third party sources.
To make UNICODE Supported i made changes like "In Project settings in preprocessor definitions i just added _UNICODE.
Also set startup with wWinMainCRTStartup.
Qns:
Can i support both of them ? if so How ?
Thanks in advance.
Thanks a lot
|
|
|
|
|
You are free to mix types all you want. It's up to you to keep track of the settings and make sure you're
using the right character types in the right places, and converting where necessary.
I personally would go all unicode and use other character types only where required, but that's just me.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: It's up to you
I'm betting that's the deal breaker part.
led mike
|
|
|
|
|
No it is not possible if you set your project _UNICODE in project settings, it will override _MBCS.
But i am here in position of converting a large project into UNICODE SUPPORTED.
Can i build that third party tool into a DLL and link them with my project ? Even though that also be defined _UNICODE.
Any Idea ? Get me out of this difficulty!.
Thanks
Thanks a lot
|
|
|
|
|
ganesa moorthy wrote: if you set your project _UNICODE in project settings, it will override _MBCS
Of course, but you need to understand how that affects your compilation.
Those are simply macros used with conditional compilation. The macros effect the
default char types in API function arguments and system structures. They also affect
the type of the tchar.h generic types like TCHAR.
You are still free to use specific types where necessary. For the affected Windows APIs,
you can call the specific APIs using the W and A suffixes where required. Same with Windows SDK
structures. In places where you need a specific char type, do NOT use the generic TCHAR - use the right type.
If you have third party code that requires a different character type then you need to deal with that by
converting your strings/char arrays to the correct type where necessary.
ganesa moorthy wrote: No it is not possible
Not true
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
It is really an useful hint!, i hope i can use it n my project.
Thanks
Thanks a lot
|
|
|
|
|
I'm dumping data in a listbox using a loop. I would like the listbox to display the data after each iteration as oppose to after the loop is over, how do I do that?
|
|
|
|
|
Threads?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
I'm new to mfc...can you give me a kick start? also, would using a different control be better?
|
|
|
|
|
Please detail your problem. For instance, if your need to represent a very large amount of data, a virtual list control [^] maybe an option.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
If you do that in one single thread, the UI won't be able to process messages anymore (because the main thread is busy in your loop). This way, it will freeze and process the messages only when you exit the loop.
The way to solve this problem is either to create a worker thread that will send a message to the GUI each time a new item should be added in the list, or you can extract messages yourself from the queue and process them (GetMessage and DispatchMessage, see here[^] for some info).
|
|
|
|
|
Another option is after you add each string to the listbox, call the UpdateWindow:
m_pMyListBox->AddString(_T("Whatever string"));
m_pMyListBox->UpdateWindow();
The UpdateWindow bypasses the normal message loop, so you can update that way.
Hope that helps.
Karl - WK5M
PP-ASEL-IA (N43CS)
PGP Key: 0xDB02E193
PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
|
|
|
|
|
Karl,
UpdateWindow has solved my problem......
Thanks
How do I close this thread?
|
|
|
|
|
Glad I could be of assistance.
I don't know how you mark a thread as completed or resolved. Perhaps someone else knows.
Karl - WK5M
PP-ASEL-IA (N43CS)
PGP Key: 0xDB02E193
PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
|
|
|
|
|
C++NewBe wrote: How do I close this thread?
Don't bother about, anyway you can modify the OP title (maybe adding [PROBLEM SOLVED] to the title).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
You cna use of CListCtrl instead CListBox that is better.
|
|
|
|
|
Exactly how does that solve the problem?
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I think listctl is bette than listbox and I think its better to try with listctrl so I said ctrl is better and its not direct his answer.
|
|
|
|
|
Hi All,
I have a question that has been bothering me for a while, I am trying to write an app that automatically enables ICS on a connection automatically. I have tried VBScript demos and I have written a C++ code for the COM interface. The problem is I can see the connection is shared in the Network Connection area but the other connections can not access it.
Weirder yet, if I manually disable the connection sharing on the connection I shared via right click -> properties then run my code again it does share the connection properly this time and my other interface can share with it. Any idea what I am missing here? It seems like the control panel applet does something else I am not doing. I also notice it sets the IP to 192.168.0.1 and gateway 255.255.255.0. I tried this manually but it didn't help my situation.
It also said in one of the VBScript http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3148763&SiteID=1[^] I downloaded from Microsoft that 0 of my connections were private when it ran but when I did the enabling through the control panel it showed my main one I am sharing as public and the other as private. Could this be the problem? I can't find any documentation how to set this on the interface.
Thanks.
|
|
|
|
|
I came across an issue last night with CreateProcess.
I have a the following command line "foo > out.txt".
I I run this at the command prompt, foo dumps it's output to out.txt, all is OK.
If I try and pass this through to CreateProcess the output is NOT dumped to the file.
If I instead modify the command line to something like
"c:\windows\system32\cmd.exe /C foo > out.txt" and pass that to CreateProcess then I get the expected behavior. So why do I have to do this? Is there another way? I am using default parameters for most of the arguments.
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
VCF Blog
|
|
|
|
|
AFAIK I/O redirection is performed by the command interpreter. CreateProcess cannot do that.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
I believe that you are correct, hence the STARTUPINFO structure that takes handles for standard input, output, and error.
Peace!
-=- James Please rate this message - let me know if I helped or not!<hr></hr> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
If I were to open a new file and then fill in the STARTUPINFO.hStdOutput field with the file handle, would it dump the stuff to the file?
That's sort of what I would expect.
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
Save an Orange - Use the VCF!
VCF Blog
|
|
|
|
|
I remember it being a little tricker than that. You have to duplicate the handles or some other such thing.
Or maybe that was only for redirecting the output to an edit control or something?
There is a MS KB article on redirecting a process' standard in/out/err. Hey! Got one right here in CP: http://www.codeproject.com/KB/cs/ProcessStartDemo.aspx[^].
OK - I am a jackass... that was a C# article, and I believe you wanted straight Win32 API... I found the original KB article I was thinking of: http://support.microsoft.com/kb/190351[^], and there is an article here (for real this time ), that might help as well: http://www.codeproject.com/KB/threads/consolepipe.aspx[^].
Peace!
-=- James Please rate this message - let me know if I helped or not!<hr></hr> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
modified on Thursday, April 10, 2008 8:30 PM
|
|
|
|