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 (seefor 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)
| Вернуться в корень Архива |