如題,生成一個package后,什么也不加,編譯報錯,說PaintWindow找不到,[Linker Error] Unresolved external '__fastcall Cxcontrols::TcxControl::PaintWindow(void *)' referenced from path\CXGROUPBOXEX.OBJ,這個是怎么回事,請大拿解惑
uj5u.com熱心網友回復:
這個函式哪來的,有沒有定義或者實作的代碼uj5u.com熱心網友回復:
試試在:#include <vcl.h>
#pragma hdrstop
代碼以后加入一行:
#define HDC unsigned int
uj5u.com熱心網友回復:
如果還不行,試著從工程選項中將 NO_STRICT 字樣洗掉。uj5u.com熱心網友回復:
頭檔案://---------------------------------------------------------------------------
#ifndef cxGroupBoxExH
#define cxGroupBoxExH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Classes.hpp>
#include "cxContainer.hpp"
#include "cxControls.hpp"
#include "cxEdit.hpp"
#include "cxGroupBox.hpp"
#include <Controls.hpp>
//#define HDC unsigned int
//---------------------------------------------------------------------------
class PACKAGE TcxGroupBoxEx : public TcxGroupBox
{
private:
protected:
virtual void __fastcall CreateWnd();
virtual void __fastcall Paint(void);
virtual void __fastcall PaintWindow(HDC DC);
public:
__fastcall TcxGroupBoxEx(TComponent* Owner);
__published:
};
//---------------------------------------------------------------------------
#endif
uj5u.com熱心網友回復:
CPP檔案://---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "cxGroupBoxEx.h"
#pragma link "cxContainer"
#pragma link "cxControls"
#pragma link "cxEdit"
#pragma link "cxGroupBox"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//
static inline void ValidCtrCheck(TcxGroupBoxEx *)
{
new TcxGroupBoxEx(NULL);
}
//---------------------------------------------------------------------------
__fastcall TcxGroupBoxEx::TcxGroupBoxEx(TComponent* Owner) : TcxGroupBox(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TcxGroupBoxEx::CreateWnd()
{
TcxGroupBox::CreateWnd();
}
//---------------------------------------------------------------------------
void __fastcall TcxGroupBoxEx::Paint(void)
{
TcxGroupBox::Paint();
}
//---------------------------------------------------------------------------
void __fastcall TcxGroupBoxEx::PaintWindow(HDC DC)
{
TcxGroupBox::PaintWindow(DC);
}
//---------------------------------------------------------------------------
namespace Cxgroupboxex
{
void __fastcall PACKAGE Register()
{
TComponentClass classes[1] = {__classid(TcxGroupBoxEx)};
RegisterComponents("Samples", classes, 0);
}
}
//---------------------------------------------------------------------------
uj5u.com熱心網友回復:
老妖,請幫忙看看,我這個還什么沒干呢,可就是不能編譯uj5u.com熱心網友回復:
用UltraEdit的全文搜索功能,看看PaintWindow函式是在DevExpress的哪個bpi檔案中存在,然后把這個bpi檔案加入到工程。uj5u.com熱心網友回復:
在cxControls里uj5u.com熱心網友回復:
已經包含了吧?就是上面的代碼uj5u.com熱心網友回復:
各位高手,幫忙看看啊,我就想從cxGroupBox派生一個新控制元件,上面我還什么也沒干呢,各位,試試吧?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/137526.html
標籤:VCL組件使用和開發
上一篇:誰能看得懂這是什么編碼,怎么讓它變成大家都認識的文字?
下一篇:網卡發送速率比接收速率大很多
