-
September 18th, 2008, 05:57 AM
#1
error C2143: syntax error : missing ';' before '.'
Hello Friends,
Here in this file i found this error but could not solve it. the line is highlighted with red color in the program. So please help me to solve it.
motoDlg.cpp(224) : error C2143: syntax error : missing ';' before '.'
motoDlg.cpp(224) : error C2143: syntax error : missing ';' before '.'
Code:
// motoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "moto.h"
#include "Sock.h"
#include "motoDlg.h"
#include "MotoCom.h"
#include <direct.h>
#include "stdlib.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//--------------------------------------------------------------------------
CMotoDlg *global_dialog;
//--------------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMotoDlg dialog
CMotoDlg::CMotoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMotoDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMotoDlg)
m_strMsg = _T("");
// m_ip = _T("");
// m_port = 0;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
//----------------------------------------------------------------------------
global_dialog = this;
//----------------------------------------------------------------------------
}
void CMotoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMotoDlg)
DDX_Control(pDX, IDC_LSENT, m_ctlSent);
DDX_Control(pDX, IDC_LRECEIVED, m_ctlRcvd);
DDX_Control(pDX, IDC_BCONNECT, m_ctlConnect);
DDX_Text(pDX, IDC_EMSG, m_strMsg);
// DDX_Text(pDX, IDC_EDITIP, m_ip);
// DDX_Text(pDX, IDC_EDITPORT, m_port);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMotoDlg, CDialog)
//{{AFX_MSG_MAP(CMotoDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BCONNECT, OnBconnect)
ON_BN_CLICKED(IDC_BSEND, OnBsend)
ON_BN_CLICKED(IDC_BCLOSE, OnBclose)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMotoDlg message handlers
BOOL CMotoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
//Initialize the control variables
// m_ip = "149.201.4.66";
// m_port = 4000;
//Update the Controls
UpdateData(FALSE);
// Set the dialog pointers
m_sConnectSocket.SetParent(this);
m_sListenSocket.SetParent(this);
return TRUE; // return TRUE unless you set the focus to a control
}
void CMotoDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CMotoDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CMotoDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CMotoDlg::OnBconnect()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
// Client, create default socket
// m_sConnectSocket.Create();
// Open connection to the server
// m_sConnectSocket.Connect(m_ip, m_port);
// char IP[20] = "149.201.4.66";
// Function of CMOTOCOM32 class
CMOTOCOM32.ConnectToXRC("149.201.4.66");
// Disable the connection and type controls
GetDlgItem(IDC_BCONNECT)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITIP)->EnableWindow(FALSE);
GetDlgItem(IDC_EDITPORT)->EnableWindow(FALSE);
OnConnect();
// Run Hslsrv.exe
system("Hslsrv.exe");
}
FYI: class CMOTOCOM32 is declared into the motoDlg.h file.
Please give your comments and suggestions.
Thank you
Last edited by cilu; September 19th, 2008 at 01:59 AM.
Reason: code tags
-
September 18th, 2008, 06:07 AM
#2
Re: error C2143: syntax error : missing ';' before '.'
1. Please, edit your post to add Code tags around code snippet. Otherwise it is hard to read/understand the code.
2. Where is the line 224?
3. I don't see any sense to declare this variable as global:
Originally Posted by kelisana
Code:
CMotoDlg *global_dialog;
Victor Nijegorodov
-
September 18th, 2008, 06:50 AM
#3
Re: error C2143: syntax error : missing ';' before '.'
I thnk without creating an object for the CMOTOCOM32 class you cannot call the function ConnectToXRC("149.201.4.66"); like that.If the function is a static function then u can use scope resolution operator and use without creating an object.So create an object for the class and then using the object call the function.......
-
September 19th, 2008, 02:02 AM
#4
Re: error C2143: syntax error : missing ';' before '.'
Code:
// Function of CMOTOCOM32 class
CMOTOCOM32.ConnectToXRC("149.201.4.66");
Is CMOTOCOM32 a class or an object? If the later, how is it declared? If the former, then you need an object of that type to call the functions. Unless that function is static, in which case you need to call it like this:
Code:
CMOTOCOM32::ConnectToXRC("149.201.4.66");
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|