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

marshallemon 2013-06-08 08:53:01
初学BCB,在自定义函数中引用组件,对组件属性操作,提示组件未定义,这是为什么?组件是已经创建的,form create 事件中已经对其初始化了,我的自定义函数放在本窗体的.C文件中,这样不行吗?
...全文
79 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过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类的成员函数 贴你的代码吧
回复
相关推荐
发帖
C++ Builder
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
帖子事件
创建了帖子
2013-06-08 08:53
社区公告
暂无公告