Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / Managed C++ / May 2005

Tip: Looking for answers? Try searching our database.

Microsoft Document Explorer - VC++ 2005

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
John Gabriel - 06 May 2005 17:06 GMT
The *back* and *forward* butttons do not work. Anyone noticed this?

I know this is a beta edition but even for a beta edition, it's hard to
believe
Microsoft performed any real quality control.... *Help* is pretty important.

The help feature topics are very badly organized. There is ambiguity and
context disorder. The topic headings are misleading and a lot is assumed
about the knowledge of the user. Example, *managed code" is mentioned often
without a link to this topic. Also, since the last version I used was 6.0, it
came as a shock to my system when I encountered a new (not the same as new())
operator (now old I guess) caret (^) which means a handle to an object.  2005
looks a lot like an attempt to convert Java  programmers to C++. We now have
a brilliant new C++ with garbage collection, interface implementation,
superclass definition. Oops, I did not notice, is there an "extends" keyword
for derived classes ? Java junkies will miss this one I am afraid.  The IDE
is soooo cluttered and complicated - it just keeps on getting harder and
harder to use. Pretty soon one will have to be a rocket scientist to use the
C++ IDE never mind learn it! On the bright side, it's nice not to have to do
so much coding as before but the new compiled C++ programs are slower than
snails.

Oh well, it's free, so unsuspecting students will get used to it - warts and
all and expect to find it in the workplace - good strategy once again Bill!!
Go Microsoft!!!
Ioannis Vranos - 06 May 2005 17:35 GMT
> The *back* and *forward* butttons do not work. Anyone noticed this?
>
[quoted text clipped - 6 lines]
> about the knowledge of the user. Example, *managed code" is mentioned often
> without a link to this topic.

I think this is because it is Beta and the documentation is redesigned. Current Help in
2003 is OK.

> Also, since the last version I used was 6.0, it
> came as a shock to my system when I encountered a new (not the same as new())
> operator (now old I guess) caret (^) which means a handle to an object.  2005
> looks a lot like an attempt to convert Java  programmers to C++.

I do not agree with this. Handles have different semantics than usual pointers and I like
it better this way, than what it was in "managed extensions" for C++ (VS 2002/2003).

You can not do standard pointer operations with objects in the managed heap (like pointer
arithmetic), so by using pointer notation as in VS 2002/2003 can only be confusing.

In this way different things are kept separated.

> We now have
> a brilliant new C++ with garbage collection, interface implementation,
[quoted text clipped - 5 lines]
> so much coding as before but the new compiled C++ programs are slower than
> snails.

In .NET, C++ is two worlds. The unmanaged world and the managed world. In the managed
world every .NET feature is provided separately from the unmanaged world features.

Here is a link to a page of mine, that you may find useful:

http://www23.brinkster.com/noicys/cppcli.htm
John Gabriel - 06 May 2005 19:40 GMT
Hmmm. Let me see:

> I think this is because it is Beta and the documentation is redesigned. Current
> Help in 2003 is OK.

Where does this leave me with VC++ 2005 - do you acknowledge this is a
problem which is going to be fixed, i.e. Microsoft knows about it?

Well Ioannis, you may be correct but I am going by the documentation I read:

Start Quote:
Declares a handle to an object on the managed heap.
A handle to an object on the managed heap points to the "whole" object, and
not to a member of the object.

See gcnew for information on how to create an object on the managed heap.

In Visual C++ 2002 and Visual C++ 2003, __gc * was used to declare an object
on the managed heap. The ^ replaces __gc * in the new syntax.

Remarks
The common language runtime maintains a separate heap on which it implements
a precise, asynchronous, compacting garbage collection scheme. To work
correctly, it must track all storage locations that can point into this heap
at runtime. ^ provides a handle through which the garbage collector can track
a reference to an object on the managed heap, thereby being able to update it
whenever that object is moved. Member selection through a handle (^) uses the
pointer-to-member operator (->).
End Quote.

Seems to me that when one uses ^, the compiler generates code so that it is
used as an index into an array of pointers to objects on the *managed heap*
the CLR uses to manage the separate heap.
So in this sense it is not a pointer and can not be used as one. So although
you state that *Handles have different semantics than usual pointers* - this
is only true for the CLR for in all previous versions of C++, it was
essentially the same as a pointer. Strange then that it is called a *handle*
and not a *gc-index*.

> In .NET, C++ is two worlds. The unmanaged world and the managed world. In
> the managed world every .NET feature is provided separately from the
> unmanaged world features.

So I am led to believe. Your webpage makes sense. Can I take it for granted
everything you state is correct or do I need to make yet more comparisons
against other sources? :-)
Jochen Kalmbach [MVP] - 06 May 2005 20:02 GMT
Hi John!
>>I think this is because it is Beta and the documentation is redesigned. Current
>>Help in 2003 is OK.
>
> Where does this leave me with VC++ 2005 - do you acknowledge this is a
> problem which is going to be fixed, i.e. Microsoft knows about it?

I can´t repro the problem...
Do yu have VC2005 Express Beta 2? (Version beta2.050215-4400)
(latest Beta2 from MS download)

Signature

Greetings
  Jochen

   My blog about Win32 and .NET
   http://blog.kalmbachnet.de/

John Gabriel - 07 May 2005 21:32 GMT
Here are the version details:

Microsoft Visual Studio 2005 (Express Edition)
Version 8.0.50215.44 (beta2.050215-4400)

I downloaded it last week Wednesday or Thursday - am not sure.

You can't reproduce the problem means you can use the *forward* and *back*
buttons in your help windows?

> Hi John!
> >>I think this is because it is Beta and the documentation is redesigned. Current
[quoted text clipped - 6 lines]
> Do yu have VC2005 Express Beta 2? (Version beta2.050215-4400)
> (latest Beta2 from MS download)
Jochen Kalmbach [MVP] - 08 May 2005 08:23 GMT
Hi John!
> You can't reproduce the problem means you can use the *forward* and *back*
> buttons in your help windows?

Yes.

Signature

Greetings
  Jochen

   My blog about Win32 and .NET
   http://blog.kalmbachnet.de/

John Gabriel - 08 May 2005 16:22 GMT
Jochen,
  You appear to be having a dialogue with yourself. I did not say I cannot
reproduce the problem. You read your own post and thought I had replied. :-)

Actually, I don't need to reproduce the problem because it is *ALWAYS*
there, i.e. the *back* and *forward* buttons are GRAYED OUT and cannot be
used!!!! :-)

There is nothing for me to prove, disprove  or reproduce. The problem is
with Microsoft's buggy Document Explorer.  

BTW: When I use CAPS, it's for emphasis. I am not shouting. :-)

Do I understand correctly that you do not see this problem when you use the
document explorer?

If you respond yes, then there must be a gremlin in my system.... :-)

> Hi John!
> > You can't reproduce the problem means you can use the *forward* and *back*
> > buttons in your help windows?
>
> Yes.
Carl Daniel [VC++ MVP] - 08 May 2005 17:01 GMT
> Jochen,
>   You appear to be having a dialogue with yourself. I did not say I
> cannot reproduce the problem. You read your own post and thought I
> had replied. :-)

Read the thread again.

> Actually, I don't need to reproduce the problem because it is *ALWAYS*
> there, i.e. the *back* and *forward* buttons are GRAYED OUT and
> cannot be used!!!! :-)

Whever you report a problem, others will try to reproduce the problem.  Just
because you see some ill-behavior doesn't mean others will see the same.  In
this case, Jochen reported that he didn't see the behavior you described -
he was unable to reproduce the problem.

> There is nothing for me to prove, disprove  or reproduce. The problem
> is with Microsoft's buggy Document Explorer.
[quoted text clipped - 5 lines]
>
> If you respond yes, then there must be a gremlin in my system.... :-)

That's exactly the question Jochen already answered - Yes, the forward and
backward buttons work.  They work for me too.

-cd
John Gabriel - 09 May 2005 02:18 GMT
I responded with a second post after I realized I had misread the thread but
it was not posted for some reason. So apologies once again to Jochen. But
what you write does not help much either.

How can you reproduce a problem without any apparent cause? The way I
understand it is: You normally are given a set of events which lead to the
problem.

In this case, all I was doing was browsing the Document Helper. The buttons
should have been working but they were grayed out.

So it works for you too. This is very strange indeed. You downloaded the
same version as I. I have no idea why it does not work on my system. What
operating system are you using?

> > Jochen,
> >   You appear to be having a dialogue with yourself. I did not say I
[quoted text clipped - 26 lines]
>
> -cd
Carl Daniel [VC++ MVP] - 09 May 2005 03:45 GMT
> I responded with a second post after I realized I had misread the
> thread but it was not posted for some reason. So apologies once again
[quoted text clipped - 3 lines]
> understand it is: You normally are given a set of events which lead
> to the problem.

Well, you gave a set of events:  Load the software and it doesn't work.
Those events didn't reproduce the problem elsewhere, so there's obviously
more involved than simply installing the software.

> In this case, all I was doing was browsing the Document Helper. The
> buttons should have been working but they were grayed out.
>
> So it works for you too. This is very strange indeed. You downloaded
> the same version as I. I have no idea why it does not work on my
> system. What operating system are you using?

Server 2003/SP1.  My guess would be that it's not an OS issue though - more
likely an install issue of some kind.

Had you previously installed an earlier beta or CTP on the same machine?

-cd
John Gabriel - 09 May 2005 15:11 GMT
Hi!

 I am using XP Home and yes I agree, the OS doesn't matter. However, I do
not agree with you that it is an install issue. As for the version, if you
read the whole thread you will see it is a beta version - the Express Edition
available at Microsoft Downloads. Here are the exact steps:

 If you have the IDE fired up, close it down.

 Now fire up the IDE.
 Click on "Help" in the menu bar.
 Click on "Search" in the drop-down menu.
 Type in "ref" (without quotes) in the search box and press ENTER.
 Click on the sub-title "Attribute targets"

Now look at the state of the forward and back buttons - they are still
grayed out.

John Gabriel

> > I responded with a second post after I realized I had misread the
> > thread but it was not posted for some reason. So apologies once again
[quoted text clipped - 21 lines]
>
> -cd
Carl Daniel [VC++ MVP] - 09 May 2005 18:04 GMT
> Hi!
>
[quoted text clipped - 14 lines]
> Now look at the state of the forward and back buttons - they are still
> grayed out.

I missed the fact that you were using the express edition.  I'm sure the doc
explorer (the executable that is) is the same between Express edition and
Visual Studio, so I'd have to guess that the VC++ Express installer didn't
install doc explorer correctly, or there's something else about your system
that resulted in a fouled install.

I'd suggest posting a bug report at
http://lab.msdn.microsoft.com/productfeedback/default.aspx.  In a quick
search, I didn't find any existing reports of a similar sounding bug.

-cd
Jochen Kalmbach [MVP] - 09 May 2005 19:51 GMT
Hi John!
>   If you have the IDE fired up, close it down.
>
[quoted text clipped - 6 lines]
> Now look at the state of the forward and back buttons - they are still
> grayed out.

I also have the Express-Edition...
But I can still not repro the problem...

(Of course I do not find the step "Click on the sub-title "Attribute
targets"").
But if I click on any other link, the forward and back button get enabled.

Signature

Greetings
  Jochen

   My blog about Win32 and .NET
   http://blog.kalmbachnet.de/

John Gabriel - 10 May 2005 02:48 GMT
Jochen,

The first subtitle is "Generic Classes".
The very next one is "Attribute Targets".

You don't even need to scroll down to see it. It appears all at once on the
same help page. You don't see it??

I had downloaded a previous beta copy but did not need to uninstall it
because I reformatted my hard drive (low level) to get rid of the XP upgrade
I had purchased  and could not install successfully. So, this has nothing to
do with it.

John

> Hi John!
> >   If you have the IDE fired up, close it down.
[quoted text clipped - 14 lines]
> targets"").
> But if I click on any other link, the forward and back button get enabled.
Jochen Kalmbach [MVP] - 09 May 2005 19:53 GMT
Hi John!

>>Had you previously installed an earlier beta or CTP on the same machine?

You missed to answer this question!

If you had any previous versions (or other betas) installed see:

See: Uninstalling Previous Versions of Visual Studio 2005
http://lab.msdn.microsoft.com/vs2005/uninstall/

You also can use the unofficial removal tool:
http://blogs.msdn.com/astebner/archive/2005/04/19/409555.aspx

Signature

Greetings
  Jochen

   My blog about Win32 and .NET
   http://blog.kalmbachnet.de/

Ioannis Vranos - 07 May 2005 07:43 GMT
> Where does this leave me with VC++ 2005 - do you acknowledge this is a
> problem which is going to be fixed, i.e. Microsoft knows about it?

What I know so far, is that they are redesigning MSDN documentation for 2005 from scratch,
so I suppose any documentation problems will be fixed.

> Seems to me that when one uses ^, the compiler generates code so that it is
> used as an index into an array of pointers to objects on the *managed heap*
[quoted text clipped - 4 lines]
> essentially the same as a pointer. Strange then that it is called a *handle*
> and not a *gc-index*.

I do not know the implementation details of a handle (perhaps if you check the latest
C++/CLI draft

http://www.plumhall.com/C++-CLI%20draft%201.10.pdf

and the CLI standard that provides implementation details of the VM as well as its
assembly language, you will probably find how they are implemented.

I am not sure I understand the difference between a handle in C++/CLI and a managed
pointer in "managed extensions". In both cases, handles/managed pointers have been
different than native pointers, in the sense that their values change whenever the object
is moved in the managed heap by the CLR (that's why you can't do pointer arithmetic with
them).

> So I am led to believe. Your webpage makes sense. Can I take it for granted
> everything you state is correct or do I need to make yet more comparisons
> against other sources? :-)

As far as I know it is correct, with perhaps some room left for minor clarifications.
Legally speaking, I do not provide any guarantee however. :-)
Ioannis Vranos - 07 May 2005 08:08 GMT
> I do not know the implementation details of a handle (perhaps if you
> check the latest C++/CLI draft
[quoted text clipped - 4 lines]
> well as its assembly language, you will probably find how they are
> implemented.

http://www.ecma-international.org/publications/standards/Ecma-335.htm

> I am not sure I understand the difference between a handle in C++/CLI
> and a managed pointer in "managed extensions". In both cases,
[quoted text clipped - 10 lines]
> clarifications. Legally speaking, I do not provide any guarantee
> however. :-)

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.