为什么会提示找不到标识符。。。。

baidu926 2011-04-11 11:54:50
// 4.8Dlg.cpp : 实现文件
//

#include "stdafx.h"
#include "4.8.h"
#include "4.8Dlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


CString sData2 ; //_T("播放中"); //当前状态
CString sData3=_T("阿凡达"); //影片名字
CString sData4=_T("10 g"); //影片大小
CString sData5=_T("00:11:22 / 01:05:45"); //当前时间

//void Sendto_udp();



// CMy48Dlg 对话框
// CString sData2 ; //_T("播放中"); //当前状态
// CString sData3=_T("阿凡达"); //影片名字
// CString sData4=_T("10 g"); //影片大小
// CString sData5=_T("00:11:22 / 01:05:45"); //当前时间



CMy48Dlg::CMy48Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CMy48Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMy48Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CMy48Dlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_EN_CHANGE(IDC_EDIT2, &CMy48Dlg::OnEnChangeEdit2)
END_MESSAGE_MAP()


// CMy48Dlg 消息处理程序

BOOL CMy48Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标

// TODO: 在此添加额外的初始化代码





Sendto_udp();
//CString sData2=_T("播放中");
//当前状态
GetDlgItem(IDC_EDIT2)->SetWindowText(sData2);

//CString sData3=_T("阿凡达");
//影片名字
GetDlgItem(IDC_EDIT3)->SetWindowText(sData3);

//CString sData4=_T("10 g");
//影片大小
GetDlgItem(IDC_EDIT4)->SetWindowText(sData4);

//CString sData5=_T("00:11:22 / 01:05:45");
//当前时间
GetDlgItem(IDC_EDIT5)->SetWindowText(sData5);






return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}

// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。

void CMy48Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文

SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

// 使图标在工作区矩形中居中
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;

// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}

//当用户拖动最小化窗口时系统调用此函数取得光标
//显示。
HCURSOR CMy48Dlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}


void CMy48Dlg::OnEnChangeEdit2()
{
// TODO: 如果该控件是 RICHEDIT 控件,则它将不会
// 发送该通知,除非重写 CDialog::OnInitDialog()
// 函数并调用 CRichEditCtrl().SetEventMask(),
// 同时将 ENM_CHANGE 标志“或”运算到掩码中。

// TODO: 在此添加控件通知处理程序代码
}


void CMy48App::Sendto_udp()
{
int s;
int fromlen;
char socket_msg[256];

struct sockaddr_in addr;
fromlen=sizeof(struct sockaddr);

s = socket(AF_INET, SOCK_DGRAM, 0); //创建一个socket

addr.sin_family = AF_INET;//使用TCP/IP协议
addr.sin_port = htons(8080);
addr.sin_addr.s_addr = htonl(INADDR_ANY);


memset(socket_msg, 0, sizeof(socket_msg));

recvfrom(s, socket_msg, sizeof(socket_msg), 0, (struct sockaddr *)&addr, &fromlen);
sData2=socket_msg;

}


void CMy48App::Sendto_udp()这个是在4.8.h这个文件中声明的
// 4.8.h : PROJECT_NAME 应用程序的主头文件
//

#pragma once

#ifndef __AFXWIN_H__
#error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"
#endif

#include "resource.h" // 主符号


// CMy48App:
// 有关此类的实现,请参阅 4.8.cpp
//

class CMy48App : public CWinApp
{
public:
CMy48App();

// 重写
public:
virtual BOOL InitInstance();

// 实现

DECLARE_MESSAGE_MAP()

public:
void Sendto_udp();
};

extern CMy48App theApp;
...全文
2739 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu926 2011-04-11
  • 打赏
  • 举报
回复
4.8dlg.cpp(66) : error C3861: “Sendto_udp”: 找不到标识符
Eleven 2011-04-11
  • 打赏
  • 举报
回复
找不到哪个标识符???
Eleven 2011-04-11
  • 打赏
  • 举报
回复
囧,你的Sendto_udp()函数定义在App类,而你在主对话框类中就直接调用Sendto_udp();函数
改成
((CMy48App*)AfxGetApp())->OnShow();
TandyT 2011-04-11
  • 打赏
  • 举报
回复
注意,你不可以直接加

extern CxxxdApp theApp;


因为这个要看你的工程名的,比如我的工程名为:sdasd ,那么我的APP 类名为:CSdasdApp,则应该加的是:
extern CSdasdApp theApp;


Good Luck!!
TandyT 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 baidu926 的回复:]
4.8dlg.cpp(66) : error C3861: “Sendto_udp”: 找不到标识符
[/Quote]


/*
你是不是搞错了?你的 Sendto_udp 函数的声明不是在 XXXAPP 类里的么?然后你直接在 类XXXDlg 里面用了,这样肯定不行啊。*/

//你可以在 XXXAPP类的头文件后面加一句:
extern CxxxdApp theApp;

//然后,在你的 XXXDlg 类里面需要调用这个函数的地方按照下面方式调用:

theApp.Sendto_udp();
//当然,还必须包含这个函数的声明所在的.h 文件

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧