Author |
Topic |
|
PatLuja
Tomato Guru
Belgium
416 Posts |
Posted - Nov 29 2005 : 04:27:30 AM
|
Hello all,
First of all, I want to compliment Whole Tomato with the implementation of displaying of a resource string in the definition field, when the cursor is on a resource ID. I really like it, and for me it comes in handy quite often. Today, I've notice a little buglet in this implementation, which I want to address.
If I use small names (for instance IDS_SMALLNAME), everything is ok. When I use longer names (for instance IDS_RESOURCESTRINGWITHAVERYLONGNAME) only this name will appear in the definition bar.
My guess is that the problem is linked to the resource file (.rc). If I had defined these two strings, it would result in the following lines:
IDS_SMALLNAME "Small name"
IDS_RESOURCESTRINGWITHAVERYLONGNAME
"Long name" So if on the current line no string is provided and the next line provides only a string, take that string.
It's not a big issue, but it would be very nice to have this fixed. Thank you kindly in advance.
With kind regards, Patrick Luja |
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Nov 29 2005 : 4:21:53 PM
|
all right, what is it about string tables and resources that i don't know? there is probably quite a lot considering i never use them.
i have added a string table to a C++ project in VS2003 using VA 1432. i have added 4 items to the table, which are showing up in the .rc and have #define entries in "resource1.h"
VA is only coloring one of the items as a #define in my cpp file, but all 4 are correctly coloured in "resource1.h"
i have checked that the code compiles, so i probably have not done anything to wrong. i am not getting the strings in the tooltips on the items, but this has always been a bit hit and miss for me, probably due to VA and the IDE arguing about who is showing the tooltip.
i am not getting any strings in the context or definition fields of the VA wizard bar.
i inserted the two test strings you posted, but opening the rc file both were on one line. i did find that the monster ID:
IDS_RESOURCESTRINGWITHAVERYLONGNAME_THAT_JUST_GOES_ON_AND_ON_TO_A_SLIGHTLY_SILLY_DEGREE
produced a two line rc file entry, not that this helps much *rolls eyes* |
zen is the art of being at one with the two'ness |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Nov 29 2005 : 4:29:53 PM
|
having upgraded to 1434 the syntax highlighting is fixed, which is good
still no sign of any strings in the definition or context bars though. |
zen is the art of being at one with the two'ness |
|
|
PatLuja
Tomato Guru
Belgium
416 Posts |
Posted - Nov 30 2005 : 05:11:23 AM
|
Hello feline,
If you want to learn about using resource string, try to program an application that displays all strings in English and Dutch , depending on the language of the operating system.
Maybe I've used to small names. Try reproducing this (especially the one on the two lines) with a string, about twice as long as its name. This is because I've noticed that most of the strings with a long name, also have a rather long string.
When I'm inside a listing (not the resource.h and not a .rc-file) and I'm hovering over a name of a resource string, I see that name, the English version of the string, the Dutch version of the string and the definition in resource.h. When I click within this name, the definition field will only display one string (which is sufficient). When the problem occurs and I'm hovering, I only see the name of the resource string, no strings but I do see the definition within resource.h. When the problem occurs the definition field only shows the name of the resource string, nothing else.
I hope you can reproduce this.
With kind regards, Patrick Luja |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Nov 30 2005 : 2:50:51 PM
|
my test application should reproduce this, but i never get the string in the definition field. can you confirm that we are both talking about the VA wizard bar, the field on the right hand side with the Go button at the end?
*goes off to experiment*
right, after an hour of trying to produce a test case for a string table i give up. i only know one way to load a value from a string table, and that is:
CString strData;
strData.LoadString(IDS_HELLO_WORLD);
so i have made myself a new C++ console application in VS 2003, and i cannot use "cout" and i cannot use "CString", and nothing i try will fix this. i can get around cout by using my preferred method of printf(), but CString is rather required for this test. having a string table that does not compile is hardly a valid test.
what am i supposed to do to this to make it work? |
zen is the art of being at one with the two'ness |
|
|
PatLuja
Tomato Guru
Belgium
416 Posts |
Posted - Dec 01 2005 : 03:08:50 AM
|
Hello feline,
You look at the same bar I'm looking at.
The way you describe how to load a string from the resource string pool, is the same I use frequently. Is some other functions as CString::Format and AfxMessageBox, you can also specify a string from the resources, instead of specifying a string hardcoded. Make sure that in the file you want to use these strings, that you include "resource.h". I've used these resource strings only in non-console Windows applications (with MFC). I've never tried with console applications.
I'm sorry, but I think that I cannot help you further than this (I'm also not such a resource-string-guru myself). Maybe someone else has a suggestion? Feline, thank you for trying. I do appreciate it and I do hope you do find a clue.
With kind regards, Patrick Luja
P.S. Did someone else see this same effect, or can someone reproduce this? |
Edited by - PatLuja on Dec 06 2005 02:59:17 AM |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Dec 12 2005 : 7:21:54 PM
|
sorry about the delay here, things have been far to busy for the last week or so for me *sigh*
thankfully i am back now
using VS2003 and C++ i have just created myself a standard win32 windows application. i run it and up pops the standard dialog, along with file and help menus. so far so good.
as soon as i add the line of code:
CString strText;
to the program it stops compiling, which is exactly the same problem i had before *confused* i have tried about 6 different header files, but none of them are helping. what is so mysterious about this string class that including <cstring.h> does not work?
i need to hunt through the various code examples i have downloaded and see if i can find the answer to this. until i can get past this point there is not a lot i can do unfortunately. |
zen is the art of being at one with the two'ness |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Dec 18 2005 : 6:14:20 PM
|
finally! after some searching on google i managed to get a CString to compile in a windows MFC program. of course the program throws an unhandled exception every time i do anything with it but if i just tell it to continue i have a working string table being loaded into a CString.
surely this does not have to be this hard? does it?
anyway, i am now seeing the literal string's being displayed in the definition bar, just as you describe, including the problem where by long ID's do not have a following string.
case=930 |
zen is the art of being at one with the two'ness |
|
|
PatLuja
Tomato Guru
Belgium
416 Posts |
Posted - Dec 20 2005 : 04:05:29 AM
|
Hello feline,
Thank you kindly for your efforts.
With kind regards, Patrick Luja |
|
|
PatLuja
Tomato Guru
Belgium
416 Posts |
Posted - Feb 24 2006 : 05:08:20 AM
|
Hello feline (and all others),
Is there any feedback on this topic? I'm still seeing it in build 1440. It would be very great and very helpful to have this buglet resolved... Would it be possible, please?
*** Sitting on my knees with my hands folded together, in front of my computer, and crying "PLEASE!". (I hope no-one comes in right now...) ***
With kind regards, Patrick Luja |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Feb 25 2006 : 11:25:13 AM
|
i have upped the priority on this one for you. after all, how can i say no to such a heart felt plea? :) |
zen is the art of being at one with the two'ness |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Mar 07 2006 : 6:35:43 PM
|
case 930 fixed in build 1442. |
|
|
PatLuja
Tomato Guru
Belgium
416 Posts |
Posted - Mar 09 2006 : 02:58:39 AM
|
Dear feline and support,
This works great, thank you!
I've defined my strings in Dutch and in English. Now I can see one of the strings (in this case the Dutch one) in the definition bar, but that is sufficient.
Thanks again! I'm very pleased with this!
With kind regards, Patrick Luja |
|
|
|
Topic |
|