自定义函数中引用组件,对组件属性操作,提示组件未定义

marshallemon 2013-06-08 08:53:01
初学BCB,在自定义函数中引用组件,对组件属性操作,提示组件未定义,这是为什么?组件是已经创建的,form create 事件中已经对其初始化了,我的自定义函数放在本窗体的.C文件中,这样不行吗?
...全文
150 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2013-06-08
  • 打赏
  • 举报
回复
提示组件未定义,两种解决方法: 1. 将此自定义函数声明和定义成Form类的成员函数。 或 2. 在自定义函数中使用组件对象时,带上Form对象的名字,如:Form1->Button2->Caption = "abc";
sololie 2013-06-08
  • 打赏
  • 举报
回复
羞答答滴又不贴你的代码

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
    TButton *Button1;
    TMemo *mmo1;
    void __fastcall Button1Click(TObject *Sender);
private:	// User declarations
public:		// User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;

// 自定义函数,非类成员
void MyProcToSetMemoText(const char *txt)
{
    Form1->mmo1->Text = txt;
    // 顺便再设置下Form1->mmo1 的其他属性
    Form1->mmo1->Color = clRed;
    Form1->mmo1->Font->Color = clYellow;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    MyProcToSetMemoText("卖家曝切尔西6300万签卡瓦尼 签5人狂烧1.8亿");
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
sololie 2013-06-08
  • 打赏
  • 举报
回复
.c文件?是.cpp文件吧。 估计你的自定义函数不是定义成该form类的成员函数 贴你的代码吧

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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