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
 Build 2098 fails to show all symbols
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

xMRi
Tomato Guru

Germany
276 Posts

Posted - May 24 2016 :  03:49:44 AM  Show Profile  Reply with Quote
Hi!

I just installed Build 2098 and it showed that some template methods are not shown any more upon Alt+M.
I am using VS2013

Here the list from Build 2094
https://www.dropbox.com/s/4dtx5x20l4swxf0/VAX-Build2094.PNG

Here the list from Build 2098
https://www.dropbox.com/s/px0z3pohgsz6nl7/VAX-Build2098.PNG

I just reverted to Build 2094.
TIA
Martin

Martin Richter [rMVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming

Edited by - xMRi on May 24 2016 03:51:27 AM

feline
Whole Tomato Software

United Kingdom
15984 Posts

Posted - May 24 2016 :  11:12:08 AM  Show Profile  Reply with Quote
That's a nasty problem, and thank you for the clear screen shots. Testing VS2013, VA 2098 under Windows 7, I have added the following class to a header file, based on your more complete screen shot:

namespace FelineQueryAddress
{
	template<class TData, class TDlg>
	class FelineTEQ_List
	{
		void AddEntry(const typename TData* p);
		void Clear();
		void Copy(const CQryEntry& qe);
		void Edit();
		void FormSQL(PCTSTR pszFieldName, PCTSTR pszAlias, CStringList &lstPre, CStringList &lstPost);
		void GetDispText() const;
		void GetlDsList(CString& str);
		void Load(const CXMLProfile& prof);
		void Save(CXMLProfile& prof);
		void TQE_List(const DB::C_MASTER_COL_EX* pDBCol);
	};
}


all of the class members are being listed in the Alt-M list for me. When I then trigger Create Method Implementations on the class name, and generate all of the implementations, which are added into the header file, both the declarations and the implementations are listed for me.

Does my test code look correct? Am I trying the right thing here?

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

xMRi
Tomato Guru

Germany
276 Posts

Posted - May 25 2016 :  01:45:01 AM  Show Profile  Reply with Quote
Code looks like this. I removed the inner parts of the functions.
This is only a part of a source fil with aproximatly 9300 lines.


namespace QueryAddresses
{

template <class TData, class TDlg>
class TQE_List : public CQryEntry
{
public:
	TQE_List(const DB::C_MASTER_COL_EX* pDBCol=NULL);

	virtual void	Clear();
	virtual CString GetDispText()const;
	virtual CString	FormSQL(PCTSTR pszFieldName, PCTSTR pszAlias, CStringList &lstPre, CStringList &lstPost);
	virtual bool	Edit();
	virtual void	Load(const DB::CXMLProfile&);
	virtual void	Save(DB::CXMLProfile&);
	virtual void	Copy(const CQryEntry&);

	void	AddEntry(const typename TData*);
	PCTSTR	GetIDsList(CString& str);

	CDWordArray	m_anIDs;
	CString		m_strNames;
};

/////////////////////////////////////////////////////////////////////////////////////
// TQE_List

template <class TData, class TDlg>
TQE_List<TData,TDlg>::TQE_List(const DB::C_MASTER_COL_EX* pDBCol)
	: CQryEntry(pDBCol)
{}

template <class TData, class TDlg>
void TQE_List<TData,TDlg>::Clear()
{
}

template <class TData, class TDlg>
CString TQE_List<TData,TDlg>::GetDispText()const
{
}

template <class TData, class TDlg>
CString TQE_List<TData,TDlg>::FormSQL(PCTSTR pszFieldName, PCTSTR pszAlias, CStringList &lstPre, CStringList &lstPost)
{
}

template <class TData, class TDlg>
bool TQE_List<TData,TDlg>::Edit()
{
}

template <class TData, class TDlg>
void TQE_List<TData,TDlg>::Load(const CXMLProfile& prof)
{
}

template <class TData, class TDlg>
void TQE_List<TData,TDlg>::Save(CXMLProfile& prof)	
{
}

template <class TData, class TDlg>
void TQE_List<TData,TDlg>::AddEntry(const typename TData* p)
{
}

template <class TData, class TDlg>
PCTSTR TQE_List<TData,TDlg>::GetIDsList(CString& str)
{
}

template <class TData, class TDlg>
void TQE_List<TData,TDlg>::Copy(const CQryEntry& qe)
{
}

}


Martin Richter [rMVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming

Edited by - xMRi on May 25 2016 01:50:43 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
15984 Posts

Posted - May 25 2016 :  12:44:09 PM  Show Profile  Reply with Quote
Thank you for the code, unfortunately I am still not seeing the problem here.

Is there any chance of getting a copy of the full code file, purely for testing purposes? I realise this is often not possible, but it's worth asking on the off chance.

If not, do you have time to run some tests on VA 2098 please? In order to avoid having to keep swapping between VA 2098 and VA 2094 while having a look at this, you can use a separate IDE profile for testing purposes. If you are interested, first install VA 2098 again on your system, and hopefully the problem will re-appear.

If the problem does re-appear, now close the IDE and run the command:

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /RootSuffix Test

this will create a new, separate and default profile for VS2013. You will now need to install VA 2094 from the online gallery, and export / import your VA and IDE settings. A bit of a fuss, but perhaps worth it.

Looking at the screen shot, and the code, it looks like you have the Alt-m list set to use Alphabetical order. If you look at the class constructor and the Clear() functions, is there anything odd in its body? Perhaps unmatched brackets, like this:

{
#if 0
    {
        {
#endif
}


Another test, if you have the time. If you delete the body inside the constructor, is the constructor or the Clear() function now shown in the alt-m list? I am searching for clues as to the trigger. I am guessing something is confusing our parser, and the next function, the next set of matching curly brackets is allowing our parser to recover, so list the Clear() function.

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

xMRi
Tomato Guru

Germany
276 Posts

Posted - May 25 2016 :  1:38:37 PM  Show Profile  Reply with Quote
Give me an Email address.
Keep the code private.
But it will get monday, because I am out of office for thursday friday.

Martin Richter [rMVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
15984 Posts

Posted - May 26 2016 :  12:28:13 PM  Show Profile  Reply with Quote
We will definitely keep the code private. Assuming I see the same problem here, hopefully I can delete 99% of the file as I try to find and pin down the trigger for this.

Please submit the files via the form:

http://www.wholetomato.com/support/contact.asp

including this thread ID or URL in the description, so we can match it up.

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

xMRi
Tomato Guru

Germany
276 Posts

Posted - May 31 2016 :  02:17:31 AM  Show Profile  Reply with Quote
Just uploaded the file. And no. The Clear function is just 3 lines. Even no blocks.

Martin Richter [rMVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
15984 Posts

Posted - May 31 2016 :  5:42:33 PM  Show Profile  Reply with Quote
I have the file, thank you for this, and I am seeing the problem here. I am just getting odd results trying to find the actual trigger, since I cannot see anything obviously odd or suspicious about the file.

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

feline
Whole Tomato Software

United Kingdom
15984 Posts

Posted - May 31 2016 :  11:23:36 PM  Show Profile  Reply with Quote
I have produced a simple test case from your file, many thanks again for the file, and have put in a bug report for this:

case=97700

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

xMRi
Tomato Guru

Germany
276 Posts

Posted - Jun 01 2016 :  01:40:35 AM  Show Profile  Reply with Quote
Perfect.
Thanks for your support!

Martin Richter [rMVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
Go to Top of Page

sean
Whole Tomato Software

USA
2641 Posts

Posted - Jun 03 2016 :  12:24:44 AM  Show Profile  Reply with Quote
case=97700 is fixed in build 2102
Go to Top of Page

xMRi
Tomato Guru

Germany
276 Posts

Posted - Jun 03 2016 :  03:42:34 AM  Show Profile  Reply with Quote
Works!

Again. Your product and support is one of the greatest I know...

Martin Richter [rMVP] WWJD http://blog.m-ri.de
"A well-written program is its own heaven; a poorly written
program is its own hell!" The Tao of Programming
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2019 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000