Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 VA 2451: find symbol dialog issues

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
Uniwares Posted - Jul 08 2022 : 07:41:51 AM
I am seeing a few issues in the find symbol dialog. Mostly related to long names, but also a weird char appearing out of nowhere, seems like some buffer overwrite problem.
Would be great to have tooltips on list items not showing completely.

First one: selected line, looks pretty weird to me. "base" in general seems to have problems.


Second one: redraw problems when having large columns and paging left/right


Third one: not sure if its a good idea to keep/show all the attributes


The method is defined as (with a long list of method attributes, left out here):
public WorkflowProcess UpdateWorkflowProcessData([System.Xml.Serialization.XmlArrayAttribute(IsNullable=true)] [System.Xml.Serialization.XmlArrayItemAttribute(Namespace="http://schemas.datacontract.org/2004/07/Mbcp.WFMS.Business.Entities.Process.Workf" +
            "low.Process")] WorkflowProcessData[] iData, decimal iProcessID, [System.Xml.Serialization.XmlIgnoreAttribute()] bool iProcessIDSpecified) 
{ }

7   L A T E S T    R E P L I E S    (Newest First)
feline Posted - Jul 12 2022 : 09:03:12 AM
Honestly I don't know where they are coming from. From looking at this, it turns out that the Find Symbol dialog is listing a "base" member for every C# class, even classes with no members, which I have put in case=148353 for.

I am guessing that it is "bookkeeping" for handing the base keyword, when you are referencing the base class, and if memory serves me correctly all C# classes automatically have a base class, even if it isn't explicitly defined. But yes, these entries should not be showing up in the Find Symbol dialog.
Uniwares Posted - Jul 12 2022 : 07:32:08 AM
Yet, where do names like "Installer baase" or "BasePage base" come from? Thats not even C# syntax. And its not a comment either.
feline Posted - Jul 12 2022 : 07:24:46 AM
Dot not double colon for the namespace and class name. Jumping between C++ and C# so much again that I am loosing track of which syntax to use where, thank you for the code sample, that helps.

All of the initial examples I found for the extra "base" entry in C# have no definition, and since "base" isn't actually a valid symbol the definition is probably being worked out for when you use the base keyboard. Not sure about the odd character, but at a wild guess its to do with the data structures VA is building. I have put in a separate bug for this, although it might just be the other half of base being listed:

case=148355
Uniwares Posted - Jul 12 2022 : 05:06:15 AM
The source for the symbol in the first screenshot is:

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.6.1087.0")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UpdateWorkflowProcessDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UpdateWorkflowProcessDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public WorkflowProcess Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((WorkflowProcess)(this.results[0]));
            }
        }
    }


So nothing too complicated here. Really weird it gets when searching for "base":


feline Posted - Jul 11 2022 : 1:37:34 PM
"base" being listed as a class member doesn't make any sense, but is happening here as well, I have put in a bug report for this:

case=148353

I can reproduce a random, not in the code character in the Find Symbol dialog with the C# code:

class baseDescription : System::ComponentModel::AsyncCompletedEventArgs
{
}

but I cannot get this to compile. Am I just overlooking something obvious here? I assume you have a similar class declaration in your code. I have tried adding references to the project, but it doesn't seem to matter what I try, this apparently simple and "reasonable" code just doesn't compile.
Uniwares Posted - Jul 11 2022 : 08:33:44 AM
Stable, no unicode, no extended characters. Plain ascii file. The entry actually takes me to the line where the class is defined, so i guess its really a reference to the base class. Still weird.
feline Posted - Jul 11 2022 : 07:50:25 AM
An option to hide attributes on parameters in the Find Symbol dialog makes sense, I have put in a feature request for this:

case=148350

Ouch, I am surprised that the redraw problem doesn't seem to have come up before, that's rather obvious and easy to trigger when you know what to look for, I have put in a bug report for this:

case=148351

For the first screen shot, is this related to the horizontal redraw problems, or is this stable? The strange character stands out, but the line also starts with :System: which seems odd as well. What are you taken to if you jump to this entry? Is the file using extended characters? Is it a Unicode file?

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000