Author |
Topic |
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 16 2009 : 03:21:07 AM
|
Hello
I am using 10.2.1440.0 build with Visual Studio C++ 2005.
I notice for IMGSource (www.smalleranimals.com) that the functions are not being displayed.
Here is an example of the IS40_GuessFileType function declaration:
_ISDeclSpec UINT32 _ISCConv _ISFnDeco( IS40_GuessFileType )(HISSRC hSource);
Can this be resolved?
Andrew |
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 16 2009 : 1:46:58 PM
|
Please define "not being displayed"? Is the text missing in the editor? That would be very bad.
Depending on the problems you are seeing this might be:
case=279 |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 16 2009 : 1:48:27 PM
|
The intellisense is not working |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 16 2009 : 1:55:05 PM
|
Could you be a bit more specific please? Perhaps post a simple code sample that shows the problem, so I can test it here? |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 16 2009 : 3:34:04 PM
|
hSource = IS40_OpenFileSource(CT2A( m_strTempImage ));
OK? |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 17 2009 : 09:53:52 AM
|
I could email you an image of my IDE? |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 17 2009 : 12:32:09 PM
|
Please do, hopefully that will help. This FAQ entry should help:
http://docs.wholetomato.com?W128 |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 17 2009 : 12:53:15 PM
|
Here is one example:
http://www.publictalksoftware.co.uk/temp/IMG.JPG
I would expect it to show me the paramters when I do the first ( but nothing shows. I have re-parsed the header files for image source and it doesn't make any change to behaviour.
Andrew |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 17 2009 : 9:50:02 PM
|
Can you try the following test please, and see what results you get. Add this class to a header file:
class testFunctionInBrackets
{
void funcStandard(int nWidth);
void (funcBrackets)(int nHeight);
void callMemberFunctions();
};
and this function call to the matching cpp file:
void testFunctionInBrackets::callMemberFunctions()
{
funcStandard(12);
funcBrackets(13);
banana = 2;
}
only the mistyped symbol "banana" should be underlined as a mistyped symbol. Is this what you see, or are you seeing something else?
Is this a reasonable test for the problem you are having? |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 18 2009 : 03:03:37 AM
|
That test shows the same underline red squiggle, yes. But that is not fully the problem.
The IS40_ function calls are not showing as functions in the IDE. They are not functioning with intellisense.
Andrew |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 18 2009 : 3:15:43 PM
|
This is what I am seeing, in VS2005 with VA 1446 with this test:
What do I need to know to try and set up a test with the http://www.smalleranimals.com/ code? Going to their website they list 4 projects under the "most popular" list.
I don't really want to start downloading all of their projects and working through them one by one. |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 18 2009 : 6:29:48 PM
|
Add the static lib to the project
#include "Isource.h" in the source file
In InitInstance:
IS40_Initialize("");
That is enough to test. The IS40_Initialize function is passed a string. But I am not getting intellisense.
Andrew |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 19 2009 : 4:56:20 PM
|
Thank you for the instructions. The basic problem is that in the function declaration the function name is wrapped in a macro. I have a work around for this problem that works in VA 1715 (our current release) but it does not seem to work in VA 1446.
To use the work around edit VA's "StdAfx.h" file as explained in this FAQ entry:
http://docs.wholetomato.com?W302
and add the entry:
#define _ISFnDeco(functionName) functionName
at the bottom. This file is used to help VA's parser with difficult code, and can be used to work around odd effects. After modifying this file you need to rebuild the VA symbol database for the changes to take effect:
VA Options -> Performance -> General -> Rebuild symbol databases
you can download the current version of VA from this page:
http://www.wholetomato.com/downloads/default.asp
and you should get a 3 day trial when you install it.
I have not tested this work around that much, since I still don't really understand what problems you are seeing. I am getting parameter information on this function call though:
|
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 19 2009 : 5:08:45 PM
|
Thank you. How much would it cost me to upgrade?
Andrew |
|
|
kevinsikes
Tomato Guru
USA
271 Posts |
Posted - Mar 19 2009 : 5:56:17 PM
|
Hi Andrew,
Maintenance renewal for Visual Assist X is US $49 per year per user, provided you have a renewable license (non-renewable licenses have the phrase "non-renewable" in the key itself, so it's easy to tell whether your license is renewable or not.) |
Kevin Sikes Infotainment Platform Design Engineer Ford Motor Company |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 19 2009 : 6:13:15 PM
|
I purchased the software several years ago. The email address I used is outdated and I can't even locate my registration details. I do have it somewhere on some disc. It says the support ended in 2009.
So it is not clear to me. I would hope I could upgrade for $50.
Andrew |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 19 2009 : 6:22:08 PM
|
Can you please go to:
VA Options -> System Info -> Copy Info
and paste the details (from the clipboard) into your reply. This will give us the basic information about your setup, including the email address your license key is linked to. We should be able to look up your details from this. |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 19 2009 : 6:28:12 PM
|
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ VA_X.dll file version 10.2.1440.0 built 2006.01.17 Licensed to: VA X: [email protected] (1-user license) Support ends 2006.04.08 VA.NET 7.1: VAOpsWin.dll version 1.3.2.0 VATE.dll version 1.0.4.12 DevEnv.exe version 8.0.50727.762 msenv.dll version 8.0.50727.762 Font: Courier New 13(Pixels) Comctl32.dll version 6.0.2900.5512 WindowsNT 5.1 Build 2600 Service Pack 3 2 processors
Platform: Win32 Stable Includes: C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\mfc; C:\\My Libraries\\isource21; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\include; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\PlatformSDK\\include; C:\\Program Files\\Microsoft Visual Studio 8\\SDK\\v2.0\\include;
Library Includes: C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\mfc; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\mfcm; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\atlmfc\\src\\atl; C:\\Program Files\\Microsoft Visual Studio 8\\VC\\crt\\src;
Other Includes: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
As mentioned, my email address is now different and most likelt my contact details, but I wouldn't want to do that through a public forum. :) Please check for me.
Andrew |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 20 2009 : 12:02:29 PM
|
This is a standard license so there will be no problem with the renewal. So you can simply use your new email address in our purchase form. By doing so, you certify that you are the rightful licensee of Visual Assist X.
http://www.wholetomato.com/purchase/default.asp
If you have any problems with the renewel then just contact us, if you use the support form there is no need to post any of your contact details in public:
http://www.wholetomato.com/support/contact.asp |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 20 2009 : 12:26:40 PM
|
I am confused. I downloaded this latest version.
I edited my local copy of the stdafx.h file:
I did a full symbol rebuild.
I even did some manual reparsing of header files.
But I still get errors. For example, even the initialize method:
_ISDeclSpec void _ISCConv _ISFnDeco( IS40_Initialize )(const char *pKey);
does not show in the list:
What can I do? I am stuck now because I am using the trial version and have no access to my old license key.
Andrew |
Edited by - ajtruckle on Mar 20 2009 12:46:33 PM |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 20 2009 : 5:18:33 PM
|
I can ask our sales department to look up your old key.
For now I want to focus on this problem. There has to be some fundamental difference between your system and mine, since this is working for me. Can you please download and open this VS2005 solution. It is a VS2005 console project with a test for this set up in it:
http://forum.wholetomato.com/colin/forumimages/8607_func_macro_test.zip
I have unpacked "islibs40_vs05.zip" to my C drive, into a directory called "islibs40_vs05" so I have the file:
C:\\islibs40_vs05\\ISource.h
In the solution you will see that I have added "C:\\islibs40_vs05" to the C++ additional include directories.
A couple of tests are given in the comments in the file "func_macro_test.cpp". When I type on a new line I am getting this:
|
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 20 2009 : 5:44:08 PM
|
I am afraid it is not working. I have completely uninstalled VisualAssist now and re-installed and opened your project.
Nothing shows up for either of those items.
Andrew |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 20 2009 : 5:47:51 PM
|
What I can tell you is that doing alt-g on the isource header file takes me to the header file but the caret stuff does not work and the function call does not work.
I notice when i compile your test app I get compile errors. Don't know if that is related.
Andrew
|
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 21 2009 : 4:09:56 PM
|
When I compile the test solution the first error is:
Error 1 error C2146: syntax error : missing ';' before identifier 'HISSRC' c:\\islibs40_vs05\\istypes.h 35
which is in one of the smalleranimals library header files. This makes sense, since I have made no effort to use the library correctly. If you are seeing the same initial error then it is probably the same problem.
If you have uninstalled and reinstalled VA then you may need to re-apply the StdAfx.h workaround and rebuild VA's symbol database.
Can you please go to file "ISource.h" and line 329.
Place the caret into the macro "_ISFnDeco" and press alt-g. What happens? I get VA's alt-g menu, and it lists three locations. Note that one of the three locations is VA's StdAfx.h file.
It sounds like VA is not picking up your modification to the StdAfx.h file, but that does not make much sense. |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 22 2009 : 05:52:44 AM
|
Hello
Firstly, I applied the temporary license key that you emailed me.
Secondly, I double-checked that the new line of code was still in my stdafx.h file. It was.
Thirdly, I opened up Visual Studio 2005 with your project and did a full symbol build again and re-started VS2005.
After opening your project and waiting for the symbol builds to complete I went to the ISource.h file as instructed. I got the same results as you:
However, when I go to the applications CPP file and try ALT-G on the IS40_Initialise function nothing happens. And when I start typing IS40_ function calls I still don't get them all listed.
Wait for further instructions.
Andrew |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 23 2009 : 11:03:43 AM
|
I am not sure why this is not working for you.
In "ISource.h" what do you see when you use alt-m to show the list of methods in the file? You should see a list of functions, but you may only see the single item "extern".
Do you have any other IDE plugin's installed?
Can you please export your VA and IDE settings and send them to me:
VA Options -> Performance -> Export Settings IDE tools menu -> Import and Export Settings -> Export selected environment settings
I can then import them here and see if I can reproduce the problem.
Please submit the files via the form:
http://www.wholetomato.com/support/contact.asp
including this thread ID or URL in the description, so we can match it up. |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 23 2009 : 11:55:59 AM
|
When I do alt-m I get:
Notice that the list of functions is a little strange, with the closing ); .
You'll see that I have tried to revert back yo my proper project when you examine the settings.
I am sending you the results now.
Andrew |
Edited by - ajtruckle on Mar 23 2009 11:59:26 AM |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 25 2009 : 03:27:21 AM
|
Any update?
Andrew |
|
|
feline
Whole Tomato Software
United Kingdom
19020 Posts |
Posted - Mar 25 2009 : 4:40:12 PM
|
I have the settings, thank you for these, but I still cannot reproduce your problem. I am seeing the same information in the alt-m list as you, with or without the workaround in VA's StdAfx.h file, so this is not shedding any light on this.
There must be some other factor at work here.
Lets go right back to basics. Can you please add the following code to a CPP file and see what happens:
#define FelineFuncBrackets8607(funcName8607) funcName8607
class felineUseMacroClass8607
{
void FelineFuncBrackets8607(SetSize8607)(int nParam1) { }
void FelineFuncBrackets8607(SetWeight8607)(int nParam1) { }
void SetDensity8607(int nParam1) { }
void SetNumber8607(int nParam1) { }
};
static void testUsingFelineClass8607
{
felineUseMacroClass8607 foo8607;
// type dot after this variable, what is listed?
foo8607;
};
The symbols are deliberately named to try and avoid any conflicts / clashes with anything else on your system. You should get a listbox showing all 4 class member functions. |
zen is the art of being at one with the two'ness |
|
|
ajtruckle
Ketchup Master
81 Posts |
Posted - Mar 25 2009 : 4:49:05 PM
|
That works. It shows 4 methods.
Andrew |
|
|
Topic |
|