spinnaker15136

I realize this is probably not a Sandcastle problem and if I should post it somewhere else, please let me know.

I have a delegate in my namespace.

/// <summary>Called by the <see cref="GarXface::Gps::NotifyTotal" /> event.</summary>
///<param total="gpsDevice">The total packets to be transferred.</param>
public delegate void NotifyTotalHandler(int total);

I have an event in a class in the same namespace.

public ref class Gps : public Object
{

/// <summary>
/// Signals the total number of packets in data transfer.
/// </summary>
/// <remarks>
/// This event fired only once at the beginning of each transfer.
/// </remarks>
event NotifyTotalHandler^ NotifyTotal;

};

How do I link to the event from the delegate I tried the see tag above but it does not seem to work,



Re: Developer Documentation and Help System How can I have a link to an event from my delegate?

EWoodruff

You haven't declared the event public so unless you're documenting internals, it probably isn't finding it. You might also check the member ID in the XML file to make sure it matches up with what you are specifying.

There is a known issue where the C++ compiler doesn't generate member names in the same way as the C# and VB.NET compilers so Sandcastle doesn't see the members. There's a CppCommentsFixup property in the help file builder to workaround that one. I don't know if this may be related.

I believe the C++ compiler also has issues dealing with forward references in XML comments. If it hasn't seen the member declaration, it issues a warning and the member name in the comments ends up as something like "!:MemberName" which indicates an invalid reference. I don't think it goes back and fixes them up either.

Eric





Re: Developer Documentation and Help System How can I have a link to an event from my delegate?

spinnaker15136

Thanks

They are declared as public. I just did not include that in my code.

The error is occurring in the compiler so any setting in Sandcastle would have little effect (the comments aren't getting written to the XML file).

I tried placing the delesgates at the bottom of my namespace but I got other errors.