首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

[ILINK32 Error] Error: Unresolved external 'fForm' referenced from D:\

2013-01-02 
[ILINK32 Error] Error: Unresolved external '_fForm' referenced from D:\我的文档\RAD过程是

[ILINK32 Error] Error: Unresolved external '_fForm' referenced from D:\我的文档\RAD
过程是这样的:一:new 一个 VCL Forms Application  , 名词由Form1改为fForm了,保存为了fMyForm.cpp ;
              二:new一个package,添加第一步的.cpp,编译后保存并install package了;
              三:new一个 VCL Forms Application , 加入 #include "fMyForm.cpp" ,
                  弄个button,点击事件写:TfForm* p = new TfForm(this);
                                        p->Show();
                  编译就错误了呗。。 就一个错误  

[ILINK32 Error] Error: Unresolved external 'TfForm::' referenced from D:\我的文档\RAD STUDIO\PROJECTS\DEBUG\UNIT1.OBJ

[ILINK32 Error] Error: Unresolved external '__fastcall TfForm::TfForm(Classes::TComponent *)' referenced from D:\我的文档\RAD STUDIO\PROJECTS\DEBUG\UNIT1.OBJ

[ILINK32 Error] Error: Unable to perform link
[解决办法]
很明显是第一步出的错,你是怎么操作“名词由Form1改为fForm了”的?强烈建议你选中Form然后修改Name属性,不要直接修改IDE单元中的类名。
[解决办法]
1)引用文件,new tform相当于用了这个文件的类,与包没关系
2)要用包得概念,得做成控件调用或者动态装载包文件,这个早期的一个小例子



 THandle h;
   TMetaClass *mc;
   TForm *frm;
   h=LoadPackage("MZ.bpl");
   Caption = GetPackageDescription("MZ.bpl");
   mc=FindClass("TFrmHjsf");
   if( mc == NULL )
      return;
   Application->CreateForm(mc,&frm);
   frm->ShowModal();

热点排行