Author |
Topic |
|
beylevem
Tomato Guru
102 Posts |
Posted - Jan 30 2008 : 3:55:58 PM
|
Reparse file never appears to work for me. If I want VAX dropdown lists to show the effect of recent code changes, it seems that I always have to restart devenv (sometimes even first forcing a database reparse) |
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Jan 31 2008 : 07:02:23 AM
|
Which IDE and version of VA are you using? Are you talking about the alt-o list of methods in the file, or something else? |
zen is the art of being at one with the two'ness |
|
|
beylevem
Tomato Guru
102 Posts |
Posted - Jan 31 2008 : 08:29:09 AM
|
See info below. However, this has been a problem as far back as the 1200 series builds. I'm referring mainly to member-list dropdowns, but the find symbol dialog reflects the same problem.
The problem occurs mostly when I add new members to a class in a header file (either data or methods), and I try to use the new declarations in a source file. It doesn't happen all of the time (f course :-) ), but often enough to be really annoying. Hitting the reparse file button for the header file has no effect, but restarting devenv does. I'm currently working with intellisense turned off (not just within VAX, but globally), but again, with previous builds and VC6, I had intellisense operational.
I thought I would start out by just trying to figure out if reparse file is actually being invoked.
This problem also manifests sometimes in that VAX "forgets" existing definitions. When this occurs, it is most often declarations which are made using macros. (For new declarations, macros are not necessarily involved)
============ VA_X.dll file version 10.4.1626.0 built 2008.01.17 DevEnv.exe version 9.0.21022.8 msenv.dll version 9.0.21022.8 Font: Consolas 15(Pixels) Comctl32.dll version 6.10.6000.16386 Windows Vista 6.0 Build 6000 2 processors
Platform: Win32 Stable Includes: C:\\dnb\\vs9\\VC\\include; C:\\dnb\\vs9\\VC\\atlmfc\\include; ; c:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\include; C:\\dnb\\pf\\Visual Leak Detector\\include;
Other Includes:
Stable Source Directories: C:\\dnb\\vs9\\VC\\atlmfc\\src\\mfc; C:\\dnb\\vs9\\VC\\atlmfc\\src\\mfcm; C:\\dnb\\vs9\\VC\\atlmfc\\src\\atl; C:\\dnb\\vs9\\VC\\crt\\src;
|
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Jan 31 2008 : 08:55:45 AM
|
When you see this problem happening, what directory is the problem file in? If you are editing files that are within or under one of your stable include directories then you might have problems.
In my experience the reparse file button does work, but I very rarely need to use it. It sounds like there is something in your files that is confusing VA, or possibly some system process is blocking VA's ability to scan files as it wants.
You should see a message flash by on the IDE status bar after telling VA to reparse the current file. Normally this is very brief, since parsing the file is nearly instant. |
zen is the art of being at one with the two'ness |
|
|
beylevem
Tomato Guru
102 Posts |
Posted - Jan 31 2008 : 09:23:41 AM
|
The problem file is in a project directory (the file is directly listed as part of the solution)
The only time that I have seen a message about re-parsing (apart from when devenv loads) is sometimes when I use incremental search ;-) (But that was another thread, wasn't it?)
|
|
|
beylevem
Tomato Guru
102 Posts |
Posted - Jan 31 2008 : 10:06:39 AM
|
I'm looking at a very simple case right now. I have a method
ISVIRTUAL Bool ThermoProxy::Flash(Real const* feedx, Real* y, Real* x, Real* w, Real &phi, Real& phil, Real &phiw, Real &t, Real &p, Int flType, Real spec) {
int lSave = _lock, count = 0; bool notOK = true, retVal = false;
variable _lock is declared in the corresponding header file, which is included indirectly: #include "masterinclude.h" #include "fluidd.h" #include "thermoproxy.h"
The abbreviated header file would be
namespace FluidD {
class ThermoProxy {
public:
virtual Bool Flash(....
private:
long _lock;
};
}
I am using a "using namepace FluidD" declaration in the source file.
_lock shows as a spelling error and no information is shown on the VAX status line if I click on it. If I use the find symbol view, VAX reports "FluidD.ThermoProxy._lock long _lock"
|
|
|
beylevem
Tomato Guru
102 Posts |
Posted - Jan 31 2008 : 1:59:14 PM
|
The last example I posted is not a reparse issue. On that example, if I change
ISVIRTUAL Bool ThermoProxy::Flash
to
ISVIRTUAL Bool FluidD::ThermoProxy::Flash
the errors go away. I.e. it is a namespace issue. I had thought (based on previous threads) that placing a "using namespace" statement in a source file was sufficient for VAX to be able to parse successfully. It seems that that is not always the case.
|
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Jan 31 2008 : 3:30:15 PM
|
There is a colouring problem with this, caused by the unicode parameter. I have simplified it down to just this:
class ThermoProxy { public: virtual bool Flash(int paramNormal, int #966;); };
with this at the top of a header file VA does not apply its syntax highlighting to the file. After I have made an edit colouring appears, but as soon as I restart the IDE we are back to the same problem.
case=12131
If you change the code to have standard English parameter names do the problems go away? |
zen is the art of being at one with the two'ness |
|
|
beylevem
Tomato Guru
102 Posts |
Posted - Jan 31 2008 : 4:02:28 PM
|
I'm sorry, but I don't understand you last post - in particular your reference to "the unicode parameter" |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Feb 01 2008 : 07:35:29 AM
|
It seem's the forum did not like my post. Hopefully this screen shot will help. The problem is caused by the second parameter to the function "Flash"
|
zen is the art of being at one with the two'ness |
|
|
support
Whole Tomato Software
5566 Posts |
Posted - Jan 24 2011 : 4:07:02 PM
|
case=12131 is fixed in build 1840 |
Whole Tomato Software, Inc. |
|
|
|
Topic |
|