我正在使用Delphi 2007专业版.我有一个运行时包,其中包含我正在开发的许多基于TFrames的复合组件.还有一个相关的设计包,可以将这些组件安装到工具选项板中.这些TFrame后代由于各种原因使用许多第三方组件,并且还作为类层次结构彼此继承.到目前为止(并且在这里有一些很好的建议的帮助下),这种方法非常适合我想要完成的任务.
最近我遇到了一个问题,然而,编译/构建运行时包.最初,它与一些以nxEventLog.pas为中心的冲突有关,遗憾的是我没有记录的细节,但基本上是“这种方法的定义与之前的定义不一致”.就像你的实施声明与你的班级声明不一致时得到的那样.此文件是NexusDB文件(该应用程序使用NexusDB嵌入式服务器).
我尝试过各种各样的事情,但从来没有成功地让冲突消失.我最接近的是编译,让IDE请求将完全不相关的单元的TRUCKLOAD添加到contains / uses子句中.稍后会详细介绍,但如果我继续这样做,它仍然无效. nxEventLog文件未从其原始状态更改.
无法找出为什么出现这个错误 – 它出现在Nexus文件中,而不是我的实际包或单位,而且我在Nexus代码中没有改变任何内容 – 我终于继续完全卸载了Nexus,并且手动搜索以确保我已删除所有相关的dcu和bpl文件,然后重新安装它. (我正在运行Nexus 2.07)
一旦我卸载了cmTPPanels运行时/设计包(我的组件集),通过Component – >安装包 – >删除,我的其他“普通Nexus DB”应用程序似乎工作正常,包括那些包括Nexus的nxEventLog ocmponent.这似乎表明问题肯定在我的安装包中.
“The following changes are necessary to make this package compatible with other installed package. Choose OK to apply these changes and rebuild the package.”
Add dsnap.
dsnap contains implicit unit(s) DBClient,Provider,DataBkr,MidConst,Midas,DSIntf.
Add ibxpress.
ibxpress contains implicit unit(s) IBUtils,IB,IBSQLMonitor,IBHeader,IBIntf,IBXConst,IBXMLHeader,IBSQL,IBBlob,IBCustomDataSet,IBDatabase,IBErrorCodes,IBDatabaseInfo,
IBExternals,IBInstallHeader,IBServices.
Add IndyCore.
IndyCore contains implicit unit(s) IdIOHandlerSocket,IdSocks,IdIOHandlerStack,IdBuffer,IdResourceStringsCore,IdIntercept,IdCustomTransparentProxy,IdExceptionCore,IdSocketHandle,IdIOHandler,IdTCPConnection,IdReplyRFC,IdReply,IdTCPClient,IdIPAddress,IdAssignedNumbers.
Add IndySystem.
IndySystem contains implicit unit(s) IdBaseComponent,IdGlobal,IdStreamVCL,IdSysNativeVCL,IdSysVCL,IdSysBase,IdSysWin32,IdResourceStrings,IdException,IdSys,IdStream,IdObjs,IdComponent,IdStack,IdStackWindows,IdWship6,IdWinSock2,IdStackConsts,IdStackBSDBase,IdAntiFreezeBase.
Add Rz30DBCtls90.
Rz30DBCtls90 contains implicit unit(s) RzDBNav,RzDBLbl,RzDBStat.
Add lmdweb30_d10.
lmdweb30_d10 contains implicit unit(s) LMDWebHTTPGet,LMDHTMLObjectUnit,LMDFSSupport,LMDHTTPSupp,LMDStringsSupport,LMDURLSupp,LMDRASSupport,LMDRASCF,LMDWebConst,LMDRAS,LMDSyncUnit,LMDWebBase,LMDWebLex,LMDWebHTMLLex,LMDWebDownloadFormUnit,LMDDownload,LMDInetConst,LMDWebConfig,LMDWebInfo.
Add lmddsg30_d10.
lmddsg30_d10 contains implicit unit(s) LMDDsgPropInsp,LMDDsgPropEditors,LMDDsgMenuEditor,LMDDsgObjects,LMDDsgClass,LMDDsgCst,LMDDsgCollectionEditor,LMDDsgStrsEditor,LMDDsgPropPage,LMDDsgModule.
Add lmdstorage10_d10.
lmdstorage10_d10 contains implicit unit(s) LMDStorFormProperties,LMDStorFormHook,LMDStorBase,LMDStorConsts,LMDStorPropertiesStorage,LMDStorCommon,LMDStorINIVault.
Add ExceptionExpert11.
ExceptionExpert11 contains implicit unit(s) ExceptionLog,EDisAsm,EHash,EListView,EConsts,ETypes,ELogManager,EEncrypt,EBase64,EXMLBuilder,ECore,EWebTools,EZip,EZlib,ESockets,ELang,EHook,EDebug,ELeaks.
Add RemObjects_Core_D11.
RemObjects_Core_D11 contains implicit unit(s) uROClasses,uROSerializer,uROXMLIntf,uROMSXMLImpl,uRORes,uROMSXML2_TLB,uROClient,uRODLToXML,uRODL,uROTypes,uROHTTPTools,uROClientIntf,uROEncryption,uROZlib,uROCipher1,uROHash,uRODECUtil,uRODECConst,uROCipher,uROCiphers,uROBinaryHelpers,uROCompression,uROEventRepository,uROServerIntf,uROSessions,uRODynamicRequest,uRORemoteService,uROThreadPool,uROServer,uROAsync,uROThread,uROBinMessage,uROStreamSerializer.
Add RemObjects_Indy_D11.
RemObjects_Indy_D11 contains implicit unit(s) uROSuperTCPChannel,uROSCHelpers.
Add DataAbstract_Core_D11.
DataAbstract_Core_D11 contains implicit unit(s) uDADataTable,uDASupportClasses,uDARes,uDABusinessProcessor,uDAEngine,uDASQL92QueryBuilder,uDASQL92Interfaces,uDAWhere,uDAInterfaces,DataAbstract4_Intf,DataAbstract3_Intf,uDAHelpers,uDAClasses,uDAMemDataTable,uDAMemDataset,uDAExpressionEvaluator,uDAMacros,uDAUtils,uDAXMLUtils,uDADriverManager,uDAInterfacesEx,uDADelta,uDARegExpr,uDAScriptingProvider,uDAOracleInterfaces,uDAMacroProcessors,uDADataStreamer,uDACDSDataTable,uDARemoteDataAdapter,uDAReconcileDialog,uDAReconcileDialogDetails,uDARemoteDataAdapterRequests,uDABinAdapter.
Add VirtualTreesD11.
VirtualTreesD11 contains implicit unit(s) VirtualTrees,VTAccessibilityFactory.
Add VirtualShellToolsD11.
VirtualShellToolsD11 contains implicit unit(s) VirtualExplorerTree,ColumnForm,VirtualResources,VirtualShellAutoComplete,VirtualShellNotifier,VirtualScrollbars.
Add dxBarDBNavD11.
dxBarDBNavD11 contains implicit unit(s) dxBarDBNav,dxBarDBNavStrs.
Add dxBarExtDBItemsD11.
dxBarExtDBItemsD11 contains implicit unit(s) dxBarExtDBItems.
Add cxVerticalGridD11.
cxVerticalGridD11 contains implicit unit(s) cxDBVGrid,cxVGridViewInfo,cxVGridUtils,cxVGrid,cxVGridNewCategory,cxVGridConsts.
Add dxNavBarD11.
dxNavBarD11 contains implicit unit(s) dxNavBar,dxNavBarExplorerViews,dxNavBarConsts,dxNavBarGraphics,dxNavBarStyles,dxNavBarBase,dxNavBarViewsFact,dxNavBarCollns,dxNavBarVSToolBoxViews,dxNavBarBaseViews,dxNavBarOffice11Views,dxNavBarOfficeViews,dxNavBarXPViews.
Add dxLayoutControlD11.
dxLayoutControlD11 contains implicit unit(s) dxLayoutControl,dxLayoutCustomizeForm,dxLayoutEditForm,dxLayoutCommon,dxLayoutLookAndFeels,dxLayoutControlAdapters.
Add dxMasterViewD11.
dxMasterViewD11 contains implicit unit(s) dxMasterViewColumns,dxMasterView,dxMasterViewStrs.
Add dxdbtrD11.
dxdbtrD11 contains implicit unit(s) dxdbtrel,dxlocate,dxtree,dxdbtree.
Add dxPSCoreD11.
dxPSCoreD11 contains implicit unit(s) dxPSEdgePatterns,dxPSUtl,dxPSImgs,dxPSRes,dxPrnDev,dxPSGlbl,dxPSEngn,dxPSSngltn,dxPSESys,dxBase,dxPSCore,dxPSPrVwStd,dxPSPopupMan,dxPgsDlg,dxWrap,dxPSHFToolBarBld,dxPSfmAutoHFTextFmt,dxPSEvnt,dxPrnPg,dxPpAttr,dxBkGnd,dxFEFDlg,dxPcPrVw,dxExtCtrls,dxExtCtrlsStrs,dxPSForm,dxPSAutoHFTextMnuBld,dxfmDfnStl,dxfmMnPg,dxfmClr,dxPreVw,dxPSPrVw,dxfmZoom,dxPSExtDlgs,dxfmPNFmt,dxfmDTFmt,dxPSPrVwOpt,dxPSfmCompositionDsg,dxPSfmCompositionAdd,dxPSCompsProvider,dxPSXplorerTreeView,dxPSfmReportProperties,dxPSPgsMnuBld,dxfmChFN,dxPSfmTtl,dxPSCPDsg,dxPSfmLnkAdd,dxPSfmEditDesc,dxPSFillPatterns,dxPrnDlg.
Add dxPScxCommonD11.
dxPScxCommonD11 contains implicit unit(s) dxPScxCommon.
Add dxPScxGridLnkD11.
dxPScxGridLnkD11 contains implicit unit(s) dxPScxGridLnk.
Add NexusDB207se110.
NexusDB207se110 contains implicit unit(s) nxseAutoComponent,nxseAllEngines,nxseRecordCompressionEngineSmart,nxseRecordEngineVariable,nxseFulltextEngineCursor,nxseFulltextEngineTable,nxseRefIntEngine,nxseJournalEngine,nxseSortEngineMerge,nxseTemporaryStorageChunked,nxseRecordEngineStatic,nxseIndicesEngineSimple,nxseIndexBase,nxseHeapEngineCached,nxseBlockHeapEngineNonfragmenting,nxseBlobEngineSimple,nxseIndexEngineStaticKeyBstarTree,nxseHeaderAccess,nxseEncryptionEngineBlowfishRC4,nxseBlobEngineSegmented,nxseAutoIncEngineSimple,nxseStreamEngineSimple.
Add NexusDB207sr110.
NexusDB207sr110 contains implicit unit(s) nxsrSqlEngineBase,nxExeConst,nxsrServerEngine,nxsrBlobHandlerCaching,nxsrTimeoutHandling,nxsrTypes,nxsrBlobHandlerBase,nxsrBufferManager,nxsrFileImplWin32,nxsrStrings,nxsrEncryptionEngineBase,nxsrConst,nxsrTemporaryStorageBase,nxsrBlobEngineBase,nxsrSubEngineBase,nxsrBlobHandlerPassthrough,nxsrRecordMapperEngine,nxsrFieldMapperEngineAutoInc,nxsrFieldMapperEngine,nxsrFieldMapper,nxsrSortEngineBase,nxsrFulltextEngineBase,nxsrIndexEngineBase,nxsrRecordEngineBase,nxsrRefIntEngineBase,nxsrAutoIncEngineBase,nxsrStreamEngineBase,nxsrTableLockContainer,nxsrDataDictionary,nxsrFileHandling,nxsrServerCursorMapping,nxsrSystemStorage,nxsrRecordCompressionEngineBase,nxsrHeapEngineBase,nxsrBlockHeapEngineBase.
Add NexusDB207sq110.
NexusDB207sq110 contains implicit unit(s) nxsqlEngine,nxsqlFunctions,nxsqlDataDef,nxsqlFunctionOrganizer,nxsqlCondExp,nxsqlTableExp,nxsqlViews,nxsqlProxies,nxSQLParse,nxsqlPSM,nxsqlTest,CocoaBaseW,nxsqlBase,nxsqlDataManip,nxSQLTok,nxSQLProxiesIntf.
Add NexusDB207lg110.
NexusDB207lg110 contains implicit unit(s) nxlgEventLogDispatcher,nxlgEventLog.
Add NexusDB207dv110.
NexusDB207dv110 contains implicit unit(s) nxServerManager,nxBaseServerComp,nxConfigSettings.
Add MPCommonLibD11.
MPCommonLibD11 contains implicit unit(s) MPDataObject,MPCommonObjects,MPCommonUtilities,MPResources,MPShellTypes,MPThreadManager,MPShellUtilities.
有什么奇怪之处,除了除厨房水槽之外几乎所有东西的事实,提到的许多包装甚至与我试图安装的这个包装中包含的组件无关; DataSnap,Indy,IBExpress,RemObjects Data Abstract等 – 我的组件中甚至都没有引用它们.
如果我对所有这些添加的单元/包单击“确定”,则会出现更多混乱,并且无法编译.
NexusDB文件夹以及我正在开发的这些组件所在的文件夹都在我的库路径中,最后列出了我的自定义组件.
我正在研究一个虚拟机,并且可以根据需要进行快照,但无论如何我似乎无法解决这个问题,而且很明显我对编译器的工作原理没有足够的深入了解寻找问题的诊断.任何人都可以提及哪些可以帮助我这样做,将不胜感激.