MSVC 4.1 Bug ?
Manos D. Anastasiadis -- manos@ced.tuc.gr
Friday, June 21, 1996
Platform: VC++ 4.1 / Win 95
I've been using a object model *similar* to COM interface model
(just postponing real COM) and even defined macros, to declare
embedded classes within a class that supports these 'interfaces'
in the same fashion as MFC does.
Assuming that I have a macro pair:
BEGIN_IMSD_PART(localClass, baseClass)
END_IMSD_PART(localClass)
defined identically to:
BEGIN_INTERFACE_PART_DERIVE(localClass, baseClass)
END_INTERFACE_PART(localClass)
respectively (see for definition of the latter),
when I use them inside a class declaration to declare my embedded
'interfaces' the Class View shows the names of the macros as if they
were member functions, instead of showing the actual classes
they define...
The same thing holds for any other macro (of my own) I've used to
automatically declare members and / or functions in a class...
(Yes, I do like this tricky stuff...)
One funny little thing is that the ClassView implementation *does*
understand the macro BEGIN_INTERFACE_PART()
(which also does a similar job) and shows the appropriate results.
It also has knowledge about the other related macros the guys
at Redmond (and only themselves :-) ) have defined
Is this actually a bug or am I missing something ?
Note that I have not been using Compiled Browser Info (BSC file)
Maybe this could be a workaround ....
/*==================================*
* Manos D. Anastasiadis *
* Computer Engineering Dept. *
* Technical University of Crete *
* Mu.S.I.C. *
* manos@ced.tuc.gr *
*==================================*/
John & Annette Elsbree -- elsbree@msn.com
Sunday, June 23, 1996
Manos -
ClassView has special knowledge of the MFC macros and does some special-case
handling for them. Unfortunately, it does not recognize other macros that do
similar things. Doing so would require ClassView to parse and process all of
the header files that your project includes... It's not that sophisicated.
Using Compiled Browse Info will not help. ClassView uses its own, entirely
separate, non-compiling parser. (Trivia: The .NCB extension on ClassView's
cache file stands for "no-compile browsing.")
John ("not speaking for Microsoft")
----------
From: owner-mfc-l@netcom.com on behalf of Manos D. Anastasiadis
Assuming that I have a macro pair:
BEGIN_IMSD_PART(localClass, baseClass)
END_IMSD_PART(localClass)
when I use them inside a class declaration to declare my embedded
'interfaces' the Class View shows the names of the macros as if they
were member functions, instead of showing the actual classes
they define...
...
One funny little thing is that the ClassView implementation *does*
understand the macro BEGIN_INTERFACE_PART()
(which also does a similar job) and shows the appropriate results.
It also has knowledge about the other related macros the guys
at Redmond (and only themselves :-) ) have defined
Is this actually a bug or am I missing something ?
Note that I have not been using Compiled Browser Info (BSC file)
| Вернуться в корень Архива
|