自定义中文加载

kingfenggg 2010-06-21 09:21:56
TBuf<30> tempbuf;

LoadTextsAppUi->iFontType->Set(CFontType::ENormalFont, 13);
myFont = LoadTextsAppUi->iFontType->Get(CFontType::ENormalFont);

iEikonEnv->ReadResourceL(tempbuf, R_LOAD_TEXTS_CONTAINER_TITLE_RESOURCE);
iTimeOutUniText = CUniText::NewL(TRect(KPointMidTextBL, KRectSize),tempbuf);
iTimeOutUniText->SetStyle(KMenuBlue, myFont);
tempbuf.Zero();


CUniText是自己定义的一个加载中文件的类,但是编译时提示NewL、SetStyle这个2个函数

Undefined symbol: 'class CUniText * CUniText::NewL(class TRect, class TDesC16 &) (?NewL@CUniText@@SAPAV1@VTRect@@AAVTDesC16@@@Z)' LoadTexts Unknown C/C++ Problem


Undefined symbol: 'void CUniText::SetStyle(class TRgb, class CFont const *) (?SetStyle@CUniText@@QAEXVTRgb@@PBVCFont@@@Z)' LoadTexts Unknown C/C++ Problem

是什么原因??

...全文
94 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingfenggg 2010-06-25
  • 打赏
  • 举报
回复
包含了,依然不行

iEikonEnv->ReadResourceL(tempbuf, R_LOAD_TEXTS_CONTAINER_TITLE_RESOURCE);有问题,但是不知道什么原因引起的。
a14776584 2010-06-23
  • 打赏
  • 举报
回复
另外你检查一下mmp里是否含有CUniText类的.cpp文件
a14776584 2010-06-23
  • 打赏
  • 举报
回复
命令行
bldmake bldfiles
abld reallyclear
kingfenggg 2010-06-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 a14776584 的回复:]
不清楚了,reallyclear一下工程吧
[/Quote]
如何操作??
kingfenggg 2010-06-22
  • 打赏
  • 举报
回复
问题,仍然存在,不知道哪里出现问题,真奇怪啊
a14776584 2010-06-22
  • 打赏
  • 举报
回复
eikcore.lib
kingfenggg 2010-06-22
  • 打赏
  • 举报
回复
CUniText* CUniText::NewL(TRect aDrawArea,TDesC& aText)
{
CUniText* self = CUniText::NewLC(aDrawArea,aText);
CleanupStack::Pop(self);
return self;
}
CUniText* CUniText::NewLC(TRect aDrawArea,TDesC& aText)
{
CUniText* self = new (ELeave) CUniText();
CleanupStack::PushL(self);
self->ConstructL(aDrawArea,aText);
return self;
}
CUniText::CUniText():
iDrawType(EDrawAll),
iDrawLength(0)
{
iPosition = CUniText::EMiddle;
iPenColor = KRgbBlack;
iFont = CEikonEnv::Static()->NormalFont();
}

void CUniText::ConstructL(TRect aDrawArea,TDesC& aText)
{
iDrawArea=aDrawArea;
iText=HBufC::NewL(256);
iText->Des().Copy(aText);
}
CEikonEnv这样东西没有找到对应的库,不知道需要哪个库?
a14776584 2010-06-22
  • 打赏
  • 举报
回复
不清楚了,reallyclear一下工程吧
kingfenggg 2010-06-21
  • 打赏
  • 举报
回复
这些函数都是自己学的,需要的库已经加了,可是还是不对,#include <eikenv.h>这个头需要加哪个库??
jmulxg 2010-06-21
  • 打赏
  • 举报
回复
头文件
如果静态库mmp包含对应的lib
a14776584 2010-06-21
  • 打赏
  • 举报
回复
检查下CUniText::NewL和CUniText::SetStyle两个接口是否有实现
kingfenggg 2010-06-21
  • 打赏
  • 举报
回复
CUniText这个类,是自己写的,有.cpp文件,不需要库了吧,只要把源文件一起加入就可以,但是加入了还是不行
a14776584 2010-06-21
  • 打赏
  • 举报
回复
CUniText类如果是封装在Dll或者静态lib库中,都需要在函数声明前(.h文件)加IMPORT_C关键字,函数实现(.cpp文件)前加EXPORT_C关键字,例如
IMPORT_C CGridModelBase();
EXPORT_C CGridModelBase::CGridModelBase()
kingfenggg 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 goodcredit 的回复:]
NewL有没有申明为static
[/Quote]

public:
static CUniText* NewL(TRect aDrawArea, TDesC& aText);
~CUniText();
这样声明的
goodcredit 2010-06-21
  • 打赏
  • 举报
回复
NewL有没有申明为static

3,120

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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