|
That is correct syntax. Are you using VC6 and have you #include <vector>?
VC6's a bit a wacko when it comes to templates. Try this and see what happens:
typedef Square* SquarePtr;
std::vector<SquarePtr>* pVector;
--
Gott weiß ich will kein Engel sein.
|
|
|
|
|
I use VS.net 2003 and have vector included. What you suggested seems to work though, thx a lot
|
|
|
|
|
That's odd! I haven't seen any weirdness like that from vs.net 2003.
--
Gott weiß ich will kein Engel sein.
|
|
|
|
|
The following line asserts in my program and I do not understand why:
VERIFY(pThread->SetThreadPriority(nPriority));
The code I am using to create the thread is:
m_wtRunningThread = AfxBeginThread(WorkOutEquation, tp, HIGH_PRIORITY_CLASS);
Can anyone help me.
Thanks
|
|
|
|
|
Have you checked the error code? Call GetLastError() when SetThreadPriority() fails, and use the error lookup tool (located in the tools-menu) to see what the error code means. It'll probably help you.
--
Gott weiß ich will kein Engel sein.
|
|
|
|
|
There could be a couple of reasons why you can't alter the priority of a thread after it is set. Can you check GetLastError to see what happened? A common one is that the thread is not ready so changing its priority drops and error.
|
|
|
|
|
Generally the intellisense(autocomletion of the members) property of the Visual studio is very useful for me, but It does not work even though the code does not contain any error and it is active. And I can not find out the reason, i.e. the responsible segment of code and may be other factors, of this. Does Anyone help me with finding the code segment that cause this problem ?
|
|
|
|
|
Try closing visual studio, remove the .ncb file, and start visual studio again. This'll make visual studio rebuild the intellisense database again. It may or may not help.
I've noticed that VS.NET 2003 gets confused when I use namespaces. Then I do what I just described, and most of the time it'll work again.
--
Gott weiß ich will kein Engel sein.
|
|
|
|
|
Thanks, I knew that but sometimes it doesn't work, in fact I try to find that which code segment makes this property not working.
|
|
|
|
|
Is it possible to get MultiByteToWideChar to convert using UTF16 instead of UTF8 for the code page? In the MSDN docs they only show CP_UTF8, and googling didn't turn up much.
¡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
|
|
|
|
|
As a side to this, is CP_ACP really UTF16 encoding?
¡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
|
|
|
|
|
CP_ACP = ASCII Code Page...?
--
Gott weiß ich will kein Engel sein.
|
|
|
|
|
Yeah that's what I thought too. But then I was reading someone talking about how Windows has default support for UTF16 - that's how it stores everything by default.
So I guess I am a little unsure what code page to use if I want to ensure that calls to MultiByteToWideChar() use UTF16. I notice that most code uses CP_ACP.
¡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
|
|
|
|
|
|
Ahh, thats more clear - I didn't understand that part. So if you have an plain old C-style ascii string, do you want to use CP_ACP or CP_UTF8? Or does it really matter?
¡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
|
|
|
|
|
If you have a single-byte string in the local code page (I think that's what you have in mind), you first have to convert to UTF-16 with MultiByteToWideChar* then back to UTF-8 with WideCharToMultiByte.
I was looking into this myself last week, so it's fresh in my mind. The docs are vague in that they list CP_UTF8 as a code page, but don't actually say how to use it. Basically, UTF-16 is "Unicode" and "wide chars" in Win32, everything else is mult-byte.
* or an equivalent method, like using _bstr_t or A2W
--Mike--
Ericahist | CP SearchBar v2.0.2 | Homepage | 1ClickPicGrabber | RightClick-Encrypt
|
|
|
|
|
Well the reason I'm asking is that I'm adding locale support interfaces to the VCF. And rather than simply write a whole boatload of code that does all this stuff I am trying to have a locale peer that simply calls the underlying OS's API's for this. So I want to make sure that if I claim the conversion being done from char* to wchar_t* is UTF16, that this is, in fact, true.
¡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
|
|
|
|
|
|
Strictly speaking, you can't have UTF16 on Windows - only its subset known as UCS2 or BMP.
|
|
|
|
|
Whats the difference? And why no UTF16?
¡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
|
|
|
|
|
Take a look at this page[^]. Windows supports only 2-byte subset of UTF-16 (no surrogate pairs) which is called BMP or UCS-2.
|
|
|
|
|
If i draw a line
pDC->MoveTo(x,y);
pDC->LineTo(x1,y1);
How do i know if user clicks on this line ?
do i have to write my own line drawing algo and then check for X,Y , i'd hate that
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg
|
|
|
|
|
|
You don't.
Drawing a line does just that. To determine whether the user has clicked on it requires you to put code in your window's mouse event handlers, store off the coordinate of the line some how, and then check accordingly.
¡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
|
|
|
|
|
You could also try someting like GetPixel to find the colour at the mouse pointer.
|
|
|
|