Author |
Topic  |
|
LarryLeonard
Tomato Guru
    
USA
1041 Posts |
Posted - Apr 15 2004 : 09:24:36 AM
|
Look at what I was just able to type in:const Cstring& sTargetPath, Autocase correction should have changed that to CString.
|
|
LarryLeonard
Tomato Guru
    
USA
1041 Posts |
Posted - Apr 15 2004 : 09:53:13 AM
|
Another example: CString sVersion(m_listctrlVersions.GetItemText(nItem, 0));
_ASSERTE(! sversion.
|
 |
|
LarryLeonard
Tomato Guru
    
USA
1041 Posts |
Posted - Apr 15 2004 : 11:46:51 AM
|
Okay, this seems to be two problems, maybe. At least one problem is that 1229 is waaaay too slow in recognizing new symbols as I type them in; that's what caused the second example. It's just happened to me again. This is really pretty bad, because it means you can't type in a new variable name and immediately have VAX help you use it. |
 |
|
Uniwares
Tomato Guru
    
Portugal
2322 Posts |
Posted - Apr 15 2004 : 12:03:20 PM
|
Yeah, sounds serious. Fortunately I never use repair case, it never worked for me. Always mixes up symbols from MFC with symbols from STL/ATL/WTL. Cant use it. |
 |
|
LarryLeonard
Tomato Guru
    
USA
1041 Posts |
Posted - Apr 15 2004 : 12:16:31 PM
|
That's too bad about repair case, it's great when it works...
The real problem though, is that the member listboxes don't show base class members anymore - is anyone else seeing this??
|
 |
|
willdean
Tomato Guru
    
134 Posts |
Posted - Apr 15 2004 : 12:53:41 PM
|
Leon, that sounds really strange. I've never ever turned off repair case, and I'm generally working in a mixture of STL/ATL/MFC.
What symbols does it get wrong?
Will
|
 |
|
LarryLeonard
Tomato Guru
    
USA
1041 Posts |
Posted - Apr 15 2004 : 12:57:31 PM
|
I think that question was for you, Uniwares...
|
 |
|
Cezariusz
Tomato Guru
    
Poland
244 Posts |
Posted - Apr 15 2004 : 1:00:58 PM
|
Will, Leon is the product name, not Uniwares', his name is Andreas  |
Cezariusz Marek https://midicat.net/ |
 |
|
Uniwares
Tomato Guru
    
Portugal
2322 Posts |
Posted - Apr 15 2004 : 1:01:14 PM
|
(Leon? Thanks, but thats just our product ) Symbols that are always corrected wrong: almost all str... (becomes StrCmp, StrCpy, etc. they are defined in shlwapi.h), begin, end, size, count, length, etc. Just enough commonly used symbols to make it unusable. |
 |
|
support
Whole Tomato Software
    
5566 Posts |
Posted - Apr 15 2004 : 1:18:56 PM
|
Leon, it sounds like your include path may be messed up. If you click on #include <string.h>, does va show the path to the VC6_or_7/include/string.h? |
Whole Tomato Software, Inc. |
Edited by - support on Apr 15 2004 1:23:52 PM |
 |
|
LarryLeonard
Tomato Guru
    
USA
1041 Posts |
Posted - Apr 15 2004 : 1:33:15 PM
|
Leon:
From now on, I say we all call each other Leon...
- Leon
|
 |
|
willdean
Tomato Guru
    
134 Posts |
Posted - Apr 15 2004 : 1:34:30 PM
|
Sorry Lunidreas! (I have a cousin called Leon...)
It's not often I've been caught agreeing with support recently, but I do this time. I don't have any general problem with VA correcting case - and I use all that stuff you've listed. It must be because VA can't see all the possibilities.
I think it's a great feature and would hate to have to turn it off.
Will
|
 |
|
LarryLeonard
Tomato Guru
    
USA
1041 Posts |
Posted - Apr 15 2004 : 1:47:48 PM
|
(I foolishly addressed two issues in this thread, which I know better than to do, and which annoys me when other people do. So I'm going to take the 'base-class-members-not-appearing-in-listboxes'issue to its own Topic, where it belongs.) |
 |
|
Uniwares
Tomato Guru
    
Portugal
2322 Posts |
Posted - Apr 15 2004 : 2:08:10 PM
|
I'm using <string> not <string.h> It actually points to "C:\\VC\\STLPORT-4.5.3\\STLPORT\\string.h" which in turn includes string.h through the include path set to "C:\\VC\\VC98\\include" |
 |
|
support
Whole Tomato Software
    
5566 Posts |
Posted - Apr 15 2004 : 3:37:40 PM
|
Is C:\\VC\\VC98\\include in your stable include path in the va options dialog? |
Whole Tomato Software, Inc. |
 |
|
Uniwares
Tomato Guru
    
Portugal
2322 Posts |
Posted - Apr 15 2004 : 4:48:12 PM
|
yes, also the STLPORT folder. |
 |
|
support
Whole Tomato Software
    
5566 Posts |
Posted - Apr 15 2004 : 10:00:24 PM
|
If you type #include <C:\\VC\\VC98\\include\\string.h>, Does VA now see strcmp? |
Whole Tomato Software, Inc. |
 |
|
Uniwares
Tomato Guru
    
Portugal
2322 Posts |
Posted - Apr 16 2004 : 12:47:16 AM
|
What you mean with "see"? As it is now, it knows the definition of strcmp(), it knows where it is defined, but case correction seems to give it a lower priority than StrCmp(). Where do you want me to try the full path include? Before the <string> include or after? |
 |
|
support
Whole Tomato Software
    
5566 Posts |
Posted - Apr 28 2004 : 5:15:40 PM
|
If VA knows the definition of strcmp, it should never correct to StrCmp. Can you still reproduce the incorrect correction? |
Whole Tomato Software, Inc. |
 |
|
kschaab
Tomato Guru
    
USA
118 Posts |
Posted - May 03 2004 : 6:20:30 PM
|
I have had the same problems as Uniwares, so I turned repair case on...I haven't gone back to C++ yet which is where it was just irritating me beyond belief before (which is why I habitually turn it off). So after turning it on for about 2 minutes it had corrected a bunch of my C# code. I usually use accessors and internal variables which just vary based on case (accessors pascal cased, internal variables camel cased). I will attempt to turn it back on when I get to C++ later today, but there you go for an instance. In the following example the accessor public int MyInt is corrected to myInt which is probably the correct and expected behavior but definitely not what I want. In C++ I was running into the exact same things like Uniwares where strcmp() was replaced by StrCmp() which is why I turned off repair case in the first place.
class Foo
{
private int myInt;
public int MyInt
{
get
{
return this.myInt;
}
}
}
|
 |
|
support
Whole Tomato Software
    
5566 Posts |
Posted - May 04 2004 : 11:43:25 AM
|
Is the issue with this example "Accept suggestions with return"?
class Foo { private int myInt; public int MyInt<CR> // typing Enter there causes the suggested myInt to get inserted. Disabling "Accept suggestions with return", seems to fix the problem weather or not "Correct case" is enabled. Case correct can see this is a definition so it does not do the correction, so typing "int foo;" does not change it to "int Foo;".
Looks like "Accept suggestions with return" should be disabled by default in C#?
|
Whole Tomato Software, Inc. |
 |
|
support
Whole Tomato Software
    
5566 Posts |
Posted - May 04 2004 : 12:55:51 PM
|
Hmm... after further thought and assuming we understand what happened, we will let "Accept suggestions with return" work for C#. If you are at the end of line and need to leave a symbol in what VA X thinks is wrong case, you need to press ESC to clear a suggestion before pressing Return. |
Whole Tomato Software, Inc. |
 |
|
support
Whole Tomato Software
    
5566 Posts |
Posted - May 04 2004 : 1:42:32 PM
|
Andreas: VA X finds the STL version of string.h. Once you prod VA X into finding the original string.h, VA X knows not to convert strcmp to StrCmp. You can prod VA X by typing the #include (good or a little while,) or by adding the following to stdafx.h in the Misc subdirectory of the VA X installation directory: #include <C:\\VC\\VC98\\include\\string.h> |
Whole Tomato Software, Inc. |
 |
|
Uniwares
Tomato Guru
    
Portugal
2322 Posts |
Posted - May 04 2004 : 2:26:08 PM
|
Support, sorry, but the STL version of string.h uses the original string.h. StrCmp is defined in shlwapi.h which is one of the SDK headers. What has one thing to do with the other then?
btw: just had a simple project wich does NOT use STL, rather includes the standard string.h AND shlwapi.h with the same problems. |
 |
|
|
Topic  |
|