Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 VA 2451: find symbol dialog issues
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Uniwares
Tomato Guru

Portugal
2229 Posts

Posted - Jul 08 2022 :  07:41:51 AM  Show Profile  Reply with Quote
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) 
{ }

feline
Whole Tomato Software

United Kingdom
17863 Posts

Posted - Jul 11 2022 :  07:50:25 AM  Show Profile  Reply with Quote
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?

zen is the art of being at one with the two'ness
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2229 Posts

Posted - Jul 11 2022 :  08:33:44 AM  Show Profile  Reply with Quote
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.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17863 Posts

Posted - Jul 11 2022 :  1:37:34 PM  Show Profile  Reply with Quote
"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.

zen is the art of being at one with the two'ness
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2229 Posts

Posted - Jul 12 2022 :  05:06:15 AM  Show Profile  Reply with Quote
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":


Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17863 Posts

Posted - Jul 12 2022 :  07:24:46 AM  Show Profile  Reply with Quote
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

zen is the art of being at one with the two'ness
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2229 Posts

Posted - Jul 12 2022 :  07:32:08 AM  Show Profile  Reply with Quote
Yet, where do names like "Installer baase" or "BasePage base" come from? Thats not even C# syntax. And its not a comment either.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17863 Posts

Posted - Jul 12 2022 :  09:03:12 AM  Show Profile  Reply with Quote
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.

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2021 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000