Delphi包构建/安装调试

Delphi包构建/安装调试,delphi,ide,packages,custom-component,Delphi,Ide,Packages,Custom Component,我使用的是Delphi2007 Pro。我有一个运行时包,其中包括我正在开发的许多基于TFrame的复合组件。还有一个相关的设计包,用于将这些组件安装到工具选项板。由于各种原因,这些TFrame子代使用许多第三方组件,并且作为类层次结构从彼此继承。到目前为止(在这里有一些很好的建议的帮助下),这种方法对于我想要实现的目标非常有效 然而,最近我遇到了一个问题,编译/构建运行时包。最初,它与围绕nxEventLog.pas的一些冲突有关,不幸的是,我没有记录这些冲突的细节,但基本上是“此方法的定义与

我使用的是Delphi2007 Pro。我有一个运行时包,其中包括我正在开发的许多基于TFrame的复合组件。还有一个相关的设计包,用于将这些组件安装到工具选项板。由于各种原因,这些TFrame子代使用许多第三方组件,并且作为类层次结构从彼此继承。到目前为止(在这里有一些很好的建议的帮助下),这种方法对于我想要实现的目标非常有效

然而,最近我遇到了一个问题,编译/构建运行时包。最初,它与围绕nxEventLog.pas的一些冲突有关,不幸的是,我没有记录这些冲突的细节,但基本上是“此方法的定义与之前的定义不一致”的内容比如当实现声明与类声明不一致时得到的结果。此文件是NexusDB文件(应用程序使用NexusDB嵌入式服务器)

我尝试了各种方法,但从未成功地消除冲突。我遇到的最接近的情况是编译,IDE请求向contains/uses子句添加了一卡车完全不相关的单元。稍后会有更多的讨论,但如果我继续这样做,它仍然不起作用。nxEventLog文件未从其原始状态更改

无法找出出现此错误的原因--它出现在Nexus文件中,而不是我的实际软件包或单元中,并且我在Nexus代码中没有做任何更改--我最终继续并完全卸载了Nexus,并手动搜索以确保删除了所有相关的dcu和bpl文件,然后重新安装了它。(我正在运行Nexus 2.07)

启动IDE时,我出现以下错误:

bds.exe-未找到入口点
---------------------------
程序入口点
@Nxsddatadictionary@TnxBaseTableDescriptor@LoadFromReader$qqrp15Classes@TReader在动态链接库NexusDB207sd110.bpl中找不到
---------------------------
好的
其次是:

无法加载程序包…NexusDB207dv110.bpl
无法加载程序包…cmTPPanels\u D2007\u DesignReg.bpl
找不到指定的过程。
是否要在下次加载包时尝试加载此包? 一旦我通过component->Install Package->Remove卸载了cmTPPanels运行时/设计包(我的组件集),我的其他“普通Nexus DB”应用程序似乎可以正常工作,包括那些包括Nexus的nxEventLog OCComponent的应用程序。这似乎表明问题肯定出在我的安装包的某个地方

因此,在确认我的Nexus安装似乎不是实际问题之后,我打开了包含这两个包的项目组。在构建(或编译)运行时包时,Delphi IDE为我提供了与上面提到的相同的对话框:

“要使此程序包与其他已安装的程序包兼容,必须进行以下更改。选择“确定”应用这些更改并重新生成程序包。”

添加dsnap。
dsnap包含隐式单元DBClient、Provider、DataBkr、midcont、Midas、DSIntf。

添加ibxpress。
ibxpress包含隐式单元IButil、IB、IBSQLMonitor、IBHeader、IBNTF、IBXConst、IBXMLHeader、IBSQL、IBBlob、IBCustomDataSet、IBDatabase、IBErrorCodes、IBDatabaseInfo、
IBExternals、IBInstallHeader、IBServices。

添加IndyCore。
IndyCore包含隐式单元IdIOHandlerSocket、idSock、IdIOHandlerStack、IdBuffer、IdResourceStringsCore、IdIntercept、IdCustomTransparentProxy、IdExceptionCore、IdSocketHandle、idoHandler、IdTCPConnection、IdReplyRFC、IdReply、IdTCPClient、IdIPAddress、idAssignedNumber。

添加IndySystem。
IndySystem包含隐式单元IdBaseComponent、IdGlobal、IdStreamVCL、IdSysNativeVCL、IdSysVCL、IdSysBase、IdSysWin32、IdResourceStrings、IdException、IdSys、IdStream、IdObjs、IdStackWindows、IdWship6、IdWinSock2、IDSTACKCONSTCS、IdStackBSDBase、IDANTIFREZEBASE。

添加Rz30DBCtls90。
Rz30DBCtls90包含隐式单元RzDBNav、RZDBBLBL、RzDBStat。

添加lmdweb30_d10。
lmdweb30_d10包含隐式单元LMDWebHTTPGet、LMDHTMLObjectUnit、LMDFSSupport、LMDHTTPSupp、LMDStringsSupport、LMDurlSupport、LMDRASSupport、LMDRASCF、LMDWebConst、LMDRAS、LMDSyncUnit、LMDWebBase、LMDWebLex、LMDWebhtmlex下载表单单元、LMDDownload、LMDInetConst、LMDWebConfig、LMDWebInfo.

添加lmddsg30_d10。
lmddsg30_d10包含隐式单元LMDDsgPropInsp、LMDDSGPROPERTORS、LMDDsgMenuEditor、LMDDsgObjects、LMDDsgClass、LMDDSGST、LMDDsgCollectionEditor、LMDDSGTRSEDITOR、LMDDsgPropPage、LMDDsgModule。

添加lmdstorage10_d10。
lmdstorage10_d10包含隐式单元LMDStorFormProperties、LMDStorFormHook、LMDStorBase、LMDStorConsts、LMDStorProperties存储、LMDStorCommon、LMDStorINIVault。

添加例外专家11。
ExceptionExpert11包含隐式单元ExceptionLog、eDiscoverySM、EHash、EListView、EConsts、ETypes、ELogManager、EEncrypt、EBase64、EXMLBuilder、ECore、EWebTools、EZip、EZlib、ESockets、ELang、EHook、EDebug、ELeaks。

添加重新对象\u核心\u D11。
RemObjects_Core_D11包含隐式单元UroClass、uROSerializer、uROXMLIntf、UroXmlImpl、uRORes、UroXml2_TLB、uROClient、uRODLToXML、uRODL、uROTypes、uROHTTPTools、UroClientNTF、uROEncryption、uROZlib、uROCipher1、uROHash、uRODECUtil、uRODECConst、uROCipher、uROCipher、uROCiphers、uROBinaryHelpers、uROCompression、UroEventRep,uROServerIntf、uROSessions、uRODynamicRequest、uRORemoteService、uROThreadPool、uROServer、uROAsync、uROThread、uROBinMessage、uROStreamSerializer。

添加重新对象\u Indy\u D11。
RemObjects_Indy_D11包含隐式单位uROSuperTCPChannel、uROSCHelpers。

添加数据摘要\u核心\u D11。
数据摘要\u核心\u D11包含
In the HKCU\Software\ [Borland|Codegear]\[Version]\Disabled Packages, there is a list of packages that are disabled. Have a look at these. And remove anything you need.
In the HKCU\Software\ [Borland|Codegear]\[Version]\Known Packages, there is a list of all known packages. Have a look at these and remove all suspicious packages.