说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

见鬼了,我添加一个TServerSocket控件,然后编译出现:Declaration terminate incorrectly

编辑:说三道四文库 发布时间:2018-05-25 11:34
HTML文档下载 WORD文档下载 PDF文档下载
当然我新建一个Application时加入控件也没有问题。
关键是是一个写好的程序,我整理了一下,
现在是我删掉这个控件,以及相应的代码,删除#include <ScktComp.hpp>
编译通过。
然后只要增加一个TServerSocket控件,编译,
就会
[Link Error]SockComp.hpp(221):E2040 Declaration terminate incorrectly
这是为什么啊??
大侠们救救我吧!!!

~_~

大家来来看看吧!!
另外上面的是ScktComp.hpp
先查你的源码,再打开那个文件看看,看看哪里的声明有问题
ScktComp.hpp是系统文件,没有修改过
出错的是:
class PASCALIMPLEMENTATION TCustomWinSocket : public System::TObject 
{
typedef System::TObject inherited;

private:
     ... ...
public:
     ... ...
   __property bool Connected = {read=FConnected, nodefault};
     ... ...
};


很难说,我估计还是你的程序中有什么和这个冲突了。
看不到你的代码和源程序,这种问题不好判断。
要不我把程序发给你!帮帮看看行吗?
我新建了一个Application,然后逐个单元的复制代码
最终解决了问题,
但是我还是不知道原来的为什么不行?????

哦!解决了啊!那就不用我来看了。
我知道,是因为你新加进来的控件没有被编译后的Application中,这是BCB的的你的方法可行,但强行重新编译也可以。
(给分吧)
打补丁。
把所有#include都show出来
包含的头文件:
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <ImgList.hpp>
#include <Menus.hpp>
#include <ToolWin.hpp>
//---------------------------------------------------------------------------
#include <vcl\Registry.hpp>
#include <Mask.hpp>
#include <stdio.h>
#include <mem.h>
#include <string.h>
#include <dir.h>
#include <ScktComp.hpp>
#include <sys\stat.h>
#include <winbase.h>
#include <alloc.h>
#include <process.h>
#include "..\include\BootConstant.h"
#include "..\include\BootDataStruct.h"
#include "..\include\BootGlobal.h"
#include "UHexToBin.h"
#include "USelFpga.h"
#include "UChoiceCard.h"
#include <Psock.hpp>


to:ouyongke(欧科)
sorry ,你在说什么?

增量编译是BCB采用的一种加速编译的策略,如果遇到这个问题可以通过Save as和Save project as覆盖原来的文件即可解决。在VC中也存在这些问题
增量编译一般会导致什么类型的错误??
具体都能导致什么类型的错误我也没有深究,反正如果遇到此类莫名其妙的问题时Save as就可以了,如果还是不行,就要把obj和tds文件都干掉,重新build。我原来写一个控件经常发生这种事情
Build All
和ServerSocket无关
有一段时间没来了,我上面的句子没写好,时间紧急,没时间检查了。
我是说:
  当你在程序中删除一个控件时,相应的东东并没有在源文件中删干净。比如.bpr文件中就可能有垃圾,更不要说头文件了。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘