ERROR C2668: ambiguous call to overload function
this project consists of few active x controls, with Ethernet connectivity code along with it.
the above error appears along with a warning that multiple constructors are declared.
#include "stdafx.h"
#include "SSDU_DISPLAY.h"
#include "CntrItem.h"
#include "SSDU_DISPLAYView.h"
#include "SSDU_DISPLAYDoc.h"
#include "EthernetSock.h"
#include "artHorizon2.h"
#include "logscale.h"
#include "verticalscale.h"
#include "rotmeter.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CDC* pDCWnd;
HWND hwnd;
IMPLEMENT_DYNCREATE(CSSDU_DISPLAYView,CFormView)
BEGIN_MESSAGE_MAP(CSSDU_DISPLAYView,CFormView)
ON_WM_DESTROY()
ON_WM_SETFOCUS()
ON_WM_SIZE()
ON_COMMAND(ID_OLE_INSERT_NEW, OnInsertObject)
ON_COMMAND(ID_CANCEL_EDIT_CNTR, OnCancelEditCntr)
ON_WM_TIMER()
ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()
CSSDU_DISPLAYView::CSSDU_DISPLAYView()
: CFormView(CSSDU_DISPLAYView::IDD)
{
m_airspeed = _T("");
m_machno = _T("");
m_radioalt = _T("");
m_chcksum = _T("");
m_pSelection = NULL;
m_airspeed = "1188";
m_chcksum = "1.83";
m_machno = "1.01";
m_radioalt = "R1338";
}
CSSDU_DISPLAYView::~CSSDU_DISPLAYView()
{
}
void CSSDU_DISPLAYView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BARO, m_baro);
DDX_Text(pDX, IDC_AIR_SPEED, m_airspeed);
DDX_Control(pDX, IDC_ARTHORIZONCTRL3, m_ahrzn);
DDX_Control(pDX, IDC_LOGSCALECTRL1, m_lscale);
DDX_Text(pDX, IDC_MACH_NO, m_machno);
DDX_Control(pDX, IDC_ROTMETERCTRL1, m_rotmeter);
DDX_Control(pDX, IDC_VERTICALSCALECTRL1, m_vscale);
DDX_Text(pDX, IDC_RADIO_ALT, m_radioalt);
DDX_Text(pDX, IDC_CHECKSUM, m_chcksum);
}
BOOL CSSDU_DISPLAYView::PreCreateWindow(CREATESTRUCT& cs)
{
return CFormView::PreCreateWindow(cs);
}
void CSSDU_DISPLAYView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
OnConnect();
m_pSelection = NULL;
}
BOOL CSSDU_DISPLAYView::OnPreparePrinting(CPrintInfo* pInfo)
{
return DoPreparePrinting(pInfo);
}
void CSSDU_DISPLAYView::OnBeginPrinting(CDC* , CPrintInfo* )
{
}
void CSSDU_DISPLAYView::OnEndPrinting(CDC* , CPrintInfo* )
{
}
void CSSDU_DISPLAYView::OnPrint(CDC* pDC, CPrintInfo* )
{
}
void CSSDU_DISPLAYView::OnDestroy()
{
CFormView::OnDestroy();
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
if (pActiveItem != NULL && pActiveItem->GetActiveView() == this)
{
pActiveItem->Deactivate();
ASSERT(GetDocument()->GetInPlaceActiveItem(this) == NULL);
}
}
BOOL CSSDU_DISPLAYView::IsSelected(const CObject* pDocItem) const
{
return pDocItem == m_pSelection;
}
void CSSDU_DISPLAYView::OnInsertObject()
{
COleInsertDialog dlg;
if (dlg.DoModal() != IDOK)
return;
BeginWaitCursor();
CSSDU_DISPLAYCntrItem* pItem = NULL;
TRY
{
CSSDU_DISPLAYDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pItem = new CSSDU_DISPLAYCntrItem(pDoc);
ASSERT_VALID(pItem);
if (!dlg.CreateItem(pItem))
AfxThrowMemoryException();
ASSERT_VALID(pItem);
if (dlg.GetSelectionType() == COleInsertDialog::createNewItem)
pItem->DoVerb(OLEIVERB_SHOW, this);
ASSERT_VALID(pItem);
m_pSelection = pItem;
pDoc->UpdateAllViews(NULL);
}
CATCH(CException, e)
{
if (pItem != NULL)
{
ASSERT_VALID(pItem);
pItem->Delete();
}
AfxMessageBox(IDP_FAILED_TO_CREATE);
}
END_CATCH
EndWaitCursor();
}
void CSSDU_DISPLAYView::OnCancelEditCntr()
{
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
if (pActiveItem != NULL)
{
pActiveItem->Close();
}
ASSERT(GetDocument()->GetInPlaceActiveItem(this) == NULL);
}
void CSSDU_DISPLAYView::OnSetFocus(CWnd* pOldWnd)
{
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
if (pActiveItem != NULL &&
pActiveItem->GetItemState() == COleClientItem::activeUIState)
{
CWnd* pWnd = pActiveItem->GetInPlaceWindow();
if (pWnd != NULL)
{
pWnd->SetFocus();
return;
}
}
CFormView::OnSetFocus(pOldWnd);
}
void CSSDU_DISPLAYView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
COleClientItem* pActiveItem = GetDocument()->GetInPlaceActiveItem(this);
if (pActiveItem != NULL)
pActiveItem->SetItemRects();
}
#ifdef _DEBUG
void CSSDU_DISPLAYView::AssertValid() const
{
CFormView::AssertValid();
}
void CSSDU_DISPLAYView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CSSDU_DISPLAYDoc* CSSDU_DISPLAYView::GetDocument()
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSSDU_DISPLAYDoc)));
return (CSSDU_DISPLAYDoc*)m_pDocument;
}
#endif //_DEBUG
void CSSDU_DISPLAYView::OnDraw(CDC* pDC)
{
CSSDU_DISPLAYDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBrush br_background(pDoc->BKColour);
CRect client_rect;
GetClientRect(&client_rect);
hwnd = GetSafeHwnd();
pDC->FillRect(&client_rect,&br_background);
CString temp;
int j,k;
for(j=0,k=800;j<20,k<820;j++,k++)
{
temp.Format("%d",k);
m_baro.InsertString(j,temp);
}
m_baro.SetCurSel(10);
SetTimer(1,3000,NULL);
for(int i=0;i<3;i++)
{
m_ahrzn.Newvalues(5,0);
Sleep(250);
m_vscale.scaleValue(1);
Sleep(150);
m_lscale.updateval(2);
Sleep(150);
m_rotmeter.rvalue(10);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(10,10);
Sleep(250);
m_vscale.scaleValue(8);
Sleep(150);
m_lscale.updateval(10);
Sleep(150);
m_rotmeter.rvalue(5);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(15,20);
Sleep(250);
m_vscale.scaleValue(11);
Sleep(150);
m_lscale.updateval(-2);
Sleep(150);
m_rotmeter.rvalue(28);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(17,30);
Sleep(250);
m_vscale.scaleValue(15);
Sleep(150);
m_lscale.updateval(-12);
Sleep(150);
m_rotmeter.rvalue(10);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(-17,10);
Sleep(250);
m_vscale.scaleValue(20);
Sleep(150);
m_lscale.updateval(-30);
Sleep(150);
m_rotmeter.rvalue(6);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(-10,-23);
Sleep(250);
m_vscale.scaleValue(22);
Sleep(150);
m_lscale.updateval(20);
Sleep(150);
m_rotmeter.rvalue(35);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(-18,-30);
Sleep(250);
m_vscale.scaleValue(1);
Sleep(150);
m_lscale.updateval(25);
Sleep(150);
m_rotmeter.rvalue(10);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(8,8);
Sleep(250);
m_vscale.scaleValue(9);
Sleep(150);
m_lscale.updateval(-40);
Sleep(150);
m_rotmeter.rvalue(2.5);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(13,-25);
Sleep(250);
m_vscale.scaleValue(30);
Sleep(150);
m_lscale.updateval(22);
Sleep(150);
m_rotmeter.rvalue(20.50);
Sleep(150);
UpdateWindow();
m_ahrzn.Newvalues(5,30);
Sleep(250);
m_vscale.scaleValue(19);
Sleep(150);
m_lscale.updateval(50);
Sleep(150);
m_rotmeter.rvalue(33);
Sleep(150);
UpdateWindow();
}
}
void CSSDU_DISPLAYView::OnConnect()
{
}
void CSSDU_DISPLAYView::OnRecieve()
{
char *pBuf = new char[1025];
int iBufSize = 1024;
int iRcvd;
CString strRcvd;
iRcvd = m_sConnectSock.Receive(pBuf,iBufSize);
UpdateData(TRUE);
if(iRcvd == SOCKET_ERROR)
{
}
else
{
pBuf[iRcvd] = NULL;
strRcvd = pBuf;
}
}
void CSSDU_DISPLAYView::Onclose()
{
m_sConnectSock.Close();
KillTimer(1);
}
void CSSDU_DISPLAYView::OnTimer(UINT nIDEvent)
{
OnRecieve();
CFormView::OnTimer(nIDEvent);
}
Error POINTS at IMPLEMENT_DYNACREATE
please help me to debug this problem