SmartCost.dpr 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. program SmartCost;
  2. uses
  3. ShareMem,
  4. Forms,
  5. Windows,
  6. SysUtils,
  7. ComObj,
  8. Registry,
  9. VCLFixPack,
  10. MainToolFrm in '..\..\MainUI\Forms\MainToolFrm.pas' {MainToolForm},
  11. ScBillsSubItemViews in '..\..\MainModule\UI\ScBillsSubItemViews.pas' {ScBillsSubItemView: TFrame},
  12. ScBillsViews in '..\..\MainModule\UI\ScBillsViews.pas' {ScBillsView: TFrame},
  13. ScRAdjustViews in '..\..\MainModule\UI\ScRAdjustViews.pas' {ScRAdjustView: TFrame},
  14. ScFeeRate in '..\..\MainModule\Model\ScFeeRate.pas' {ScFeeRates: TDataModule},
  15. ScFeeRateView in '..\..\SideModule\FeeRate\ScFeeRateView.pas' {frmFeeRateView: TFrame},
  16. BaseChildFrm in '..\..\MainUI\BaseMDIUI\BaseChildFrm.pas' {BaseChildForm},
  17. BaseMainFrm in '..\..\MainUI\BaseMDIUI\BaseMainFrm.pas' {BaseMainForm},
  18. ScMainFrm in '..\..\MainUI\Forms\ScMainFrm.pas' {ScMainForm},
  19. ScProjFrm in '..\..\MainUI\Forms\ScProjFrm.pas' {ScProjForm},
  20. ScRelaFiles in '..\..\MainModule\Model\ScRelaFiles.pas' {ScRelaFilesDM: TDataModule},
  21. ScTenderViews in '..\..\MainModule\UI\ScTenderViews.pas' {ScTenderView: TFrame},
  22. ScProjectGLJ in '..\..\MainModule\Model\ScProjectGLJ.pas' {ScProjGLJ: TDataModule},
  23. ScBillsGLJView in '..\..\MainModule\UI\ScBillsGLJView.pas' {ScFrmBillsGLJView: TFrame},
  24. ScDataModule in '..\..\MainModule\Model\ScDataModule.pas' {ScDM: TDataModule},
  25. ScBillsPrcElementView in '..\..\MainModule\UI\ScBillsPrcElementView.pas' {ScFrmBillsPrcElementView: TFrame},
  26. ScGLJGatherView in '..\..\MainModule\UI\ScGLJGatherView.pas' {ScFrmGLJGatherView: TFrame},
  27. ScGLJTypeFrm in '..\..\MainUI\Forms\ScGLJTypeFrm.pas' {ScGLJTypeForm},
  28. ScUnitPriceLibsUnit in '..\..\SideModule\UnitPrice\ScUnitPriceLibsUnit.pas' {ScUnitPriceLib: TDataModule},
  29. ScRAdjusts in '..\..\MainModule\Model\ScRAdjusts.pas' {ScRAdjustData: TDataModule},
  30. ProjectsDM in '..\..\MainUI\ProjectManage\ProjectsDM.pas' {ManageProjects: TDataModule},
  31. ScFeeRateLibsUnit in '..\..\SideModule\FeeRate\ScFeeRateLibsUnit.pas' {ScFeeRateLib: TDataModule},
  32. FeeCalculateUnit in '..\..\SideModule\FeeRate\FeeCalculateUnit.pas',
  33. ScBillsFairy in '..\..\MainModule\Expert\ScBillsFairy.pas' {ScBillsFairyView: TFrame},
  34. ScFileArchiver in '..\..\Common\ScFileArchiver.pas',
  35. ScFileProviders in '..\..\MainModule\Model\ScFileProviders.pas',
  36. ScFTViews in '..\..\MainModule\UI\ScFTViews.pas' {ScFTView: TFrame},
  37. ScFTBills in '..\..\MainModule\Model\ScFTBills.pas' {ScFTBillsData: TDataModule},
  38. ScStreamArchiver in '..\..\Common\ScStreamArchiver.pas',
  39. ScProjBaseDM in '..\..\MainModule\Model\ScProjBaseDM.pas' {ScProjBaseData: TDataModule},
  40. ScProjList in '..\..\MainModule\Model\ScProjList.pas',
  41. ScProjectsGather in '..\..\MainModule\Model\ScProjectsGather.pas' {ScProjGatherDM: TDataModule},
  42. ScProjGatherFrm in '..\..\MainModule\UI\ScProjGatherFrm.pas' {ScProjectGatherForm},
  43. ScProjectCompare in '..\..\MainModule\Model\ScProjectCompare.pas' {ScProjectCompareDM: TDataModule},
  44. ScProjectCompareFrm in '..\..\MainModule\UI\ScProjectCompareFrm.pas' {ScProjectCompareForm},
  45. WelcomeFrm in '..\..\MainUI\Forms\Forms.8\WelcomeFrm.pas' {WelcomeForm},
  46. ScProjectProportiesFrm in '..\..\MainUI\Forms\ScProjectProportiesFrm.pas' {ScProjectProportiesForm},
  47. ScOptionFrm in '..\..\MainUI\Forms\ScOptionFrm.pas' {ScOptionForm},
  48. ScReportsFrm in '..\..\Reports\UI\ScReportsFrm.pas' {ScReportsForm},
  49. AboutFrm in '..\..\MainUI\Forms\Forms.8\AboutFrm.pas' {AboutForm},
  50. ScCountPrices in '..\..\MainModule\Model\ScCountPrices.pas' {ScCountPriceData: TDataModule},
  51. ScDataSetWrappers in '..\..\MainModule\Model\ScDataSetWrappers.pas',
  52. ScExprs in '..\..\MainModule\Model\ScExprs.pas' {ScExprsData: TDataModule},
  53. ScGLJ in '..\..\MainModule\Model\ScGLJ.pas' {ScGLJData: TDataModule},
  54. ScProject in '..\..\MainModule\Model\ScProject.pas',
  55. ScRations in '..\..\MainModule\Model\ScRations.pas' {ScRationData: TDataModule},
  56. ScRationSQLExp in '..\..\MainModule\Expert\ScRationSQLExp.pas',
  57. ScBillsLibFrm in '..\..\MainModule\UI\ScBillsLibFrm.pas' {ScBillsLibForm},
  58. ScPerformFTFrm in '..\..\MainModule\UI\ScPerformFTFrm.pas' {ScPerformFTForm},
  59. FeeStdFrm in '..\..\SideModule\FeeRate\FeeStdFrm.pas' {FeeStdEditorForm},
  60. ScBrowseGLJFrm in '..\..\Common\ScBrowseGLJFrm.pas' {ScBrowseGLJForm},
  61. ScRationAssistant in '..\..\SideModule\Ration\ScRationAssistant.pas' {frmRationAssistant: TFrame},
  62. ScRationAssistantDM in '..\..\SideModule\Ration\ScRationAssistantDM.pas' {RationAssistantDM: TDataModule},
  63. AddNewGLJFrm in '..\..\Common\AddNewGLJFrm.pas' {AddNewGLJForm},
  64. ReportAdjusterUnit in '..\..\Reports\Config\ReportAdjusterUnit.pas' {ReportAdjuster},
  65. ScBills in '..\..\MainModule\Model\ScBills.pas' {ScBillsData: TDataModule},
  66. ExprsGraph in '..\..\Common\ExprsGraph.pas',
  67. ScConfig in '..\..\Common\ScConfig.pas',
  68. ScConsts in '..\..\Common\ScConsts.pas',
  69. ScEvaluate in '..\..\Common\ScEvaluate.pas',
  70. ScIDTree in '..\..\Common\ScIDTree.pas',
  71. ScMessage in '..\..\Common\ScMessage.pas',
  72. ScParser in '..\..\Common\ScParser.pas',
  73. ScUtils in '..\..\Common\ScUtils.pas',
  74. ScExprsEdt in '..\..\MainModule\UI\ScExprsEdt.pas' {ScExprsEditor},
  75. ScBillsTemplate in '..\..\MainModule\UI\ScBillsTemplate.pas' {ScBillsTemplateForm},
  76. ScEncryptUnit in '..\..\MainModule\Model\ScEncryptUnit.pas',
  77. ScFilterRation in '..\..\SideModule\Ration\ScFilterRation.pas' {ScFilterRationView: TFrame},
  78. ScFindRationFrm in '..\..\SideModule\Ration\ScFindRationFrm.pas' {ScFindRationForm},
  79. ScReportCompareFrm in '..\..\Reports\UI\ScReportCompareFrm.pas' {ScReportCompareForm},
  80. ScSelectBuildUnitFrm in '..\..\MainModule\UI\ScSelectBuildUnitFrm.pas' {ScSelectBuildUnitForm},
  81. ScMaterial in '..\..\MainModule\Model\ScMaterial.pas' {MaterialData: TDataModule},
  82. ScOpenAPI in '..\..\OpenAPI\ScOpenAPI.pas',
  83. ScMaterialRationExp in '..\..\MainModule\Expert\ScMaterialRationExp.pas',
  84. ScUpdateDataBase in '..\..\MainModule\Model\ScUpdateDataBase.pas',
  85. ScXMLConsts in '..\..\MainModule\Model\ScXMLConsts.pas',
  86. ScXMLSavers in '..\..\MainModule\Model\ScXMLSavers.pas',
  87. ScProjGLJGatherDM in '..\..\Reports\Model\ScProjGLJGatherDM.pas' {ScProjGLJGather: TDataModule},
  88. ScRCodeEdts in '..\..\MainModule\UI\ScRCodeEdts.pas',
  89. ScMaterialDataFrm in '..\..\MainModule\UI\ScMaterialDataFrm.pas' {ScMaterialDataForm},
  90. ScLocalGLJDM in '..\..\MainModule\Model\ScLocalGLJDM.pas' {LocalGLJ: TDataModule},
  91. ScMaterialXSFrm in '..\..\MainModule\UI\ScMaterialXSFrm.pas' {MaterialXSForm},
  92. ScCompareGLJFrm in '..\..\MainModule\UI\ScCompareGLJFrm.pas' {CompareGLJForm},
  93. WCImportTipFrm in '..\..\ImportAndExport\WCImportTipFrm.pas' {WCImportTipForm},
  94. ScProjProperty in '..\..\MainModule\Model\ScProjProperty.pas',
  95. ScNewProjFrm in '..\..\MainUI\Forms\ScNewProjFrm.pas' {ScNewProjForm},
  96. ScLoadMTTransFrm in '..\..\MainModule\UI\ScLoadMTTransFrm.pas' {LoadMTTransForm},
  97. ScStdLibs in '..\..\MainModule\Model\ScStdLibs.pas',
  98. ScMachine in '..\..\MainModule\Model\ScMachine.pas' {ScMachineData: TDataModule},
  99. ScAdvMsgDlg in '..\..\Common\ScAdvMsgDlg.pas' {AdvMsgDlg},
  100. ScAuthFrm in '..\..\MainUI\Forms\ScAuthFrm.pas' {AuthorizeForm},
  101. ScRationLibsUnit in '..\..\SideModule\Ration\ScRationLibsUnit.pas' {ScRationLib: TDataModule},
  102. ScProjectRationLibsUnit in '..\..\SideModule\Ration\ScProjectRationLibsUnit.pas' {ScProjectRationLib: TDataModule},
  103. ScRationLibsFrm in '..\..\SideModule\Ration\ScRationLibsFrm.pas' {ScRationLibsForm},
  104. ScRationLibManageView in '..\..\SideModule\Ration\ScRationLibManageView.pas' {ScRationLibManageFrm: TFrame},
  105. ScGLJTypeView in '..\..\MainModule\UI\ScGLJTypeView.pas' {GLJTypeView: TFrame},
  106. ScBuildProjectSaverUnit in '..\..\MainModule\Model\ScBuildProjectSaverUnit.pas',
  107. CommonMessages in '..\..\Common\CommonMessages.pas',
  108. ScCommonFeeDM in '..\..\MainModule\Model\ScCommonFeeDM.pas' {ScCommonFeesDM: TDataModule},
  109. ScInputAdjustXSFrm in '..\..\MainModule\UI\ScInputAdjustXSFrm.pas' {ScInputAdjustXSDialog},
  110. ScMtOrgPriceFileDM in '..\..\MainModule\Model\ScMtOrgPriceFileDM.pas' {MtOrgPriceFileDM: TDataModule},
  111. ScMtOrgPriceEditorFrm in '..\..\SideModule\UnitPriceEditor\ScMtOrgPriceEditorFrm.pas' {MtOrgPriceForm},
  112. ScBillsTree2 in '..\..\MainModule\Model\ScBillsTree2.pas',
  113. ScFeeTaxDM in '..\..\SideModule\UnitPrice\ScFeeTaxDM.pas' {FeeTaxDM: TDataModule},
  114. ScFeeTaxEditorFrm in '..\..\SideModule\UnitPriceEditor\ScFeeTaxEditorFrm.pas' {FeeTaxEditorForm},
  115. SbBidFile in '..\..\SbBills\SbBidFile.pas',
  116. SbBillsTree in '..\..\SbBills\SbBillsTree.pas',
  117. SbBillsFrm in '..\..\SbBills\SbBillsFrm.pas' {SbBillsForm},
  118. ScDataIntfDM in '..\..\MainModule\Model\ScDataIntfDM.pas' {DataInterface: TDataModule},
  119. ScProjectCompare_HLJ in '..\..\MainModule\Model\ScProjectCompare_HLJ.pas' {ScProjectCompareHLJDM: TDataModule},
  120. ScSetFeeTenderFrm in '..\..\MainModule\UI\ScSetFeeTenderFrm.pas' {SetFeeTenderForm},
  121. ScMtOrgBatchAddFrm in '..\..\MainModule\UI\ScMtOrgBatchAddFrm.pas' {MtOrgBatchAddForm},
  122. ScExportBuildProjectsFrm in '..\..\MainUI\Forms\ScExportBuildProjectsFrm.pas' {ExportBuildProjectsForm},
  123. ScShowRationsZeroQuantityFrm in '..\..\MainModule\UI\ScShowRationsZeroQuantityFrm.pas' {ShowRationsZeroQuantityForm},
  124. ScSelectBillsFrm in '..\..\Common\ScSelectBillsFrm.pas' {SelectBillsFrm},
  125. ScReportTempTables in '..\..\MainModule\Model\ScReportTempTables.pas',
  126. ScTablesUnit in '..\..\Common\ScTablesUnit.pas',
  127. ScUpdateLockFrm in '..\..\MainUI\Forms\ScUpdateLockFrm.pas' {UpdateLockForm},
  128. ScSelectGatherForm in '..\..\MainModule\UI\ScSelectGatherForm.pas' {SelectGatherForm},
  129. ScGLJTypesDM in '..\..\Common\ScGLJTypesDM.pas' {GLJTypeData: TDataModule},
  130. ScGLJLibs in '..\..\MainModule\Model\ScGLJLibs.pas' {GLJLib: TDataModule},
  131. ScGLJLibEditorFrm in '..\..\MainModule\UI\ScGLJLibEditorFrm.pas' {GLJLibEditorForm},
  132. ScWorkListFrm in '..\..\Reports\UI\ScWorkListFrm.pas' {ScWorkListForm},
  133. ScBigProjManageView in '..\..\MainUI\ProjectManage\ScBigProjManageView.pas' {ScfrmBigProjManage: TFrame},
  134. ScTypes in '..\..\Common\ScTypes.pas',
  135. ScFeeStdLibUnit in '..\..\SideModule\FeeRate\ScFeeStdLibUnit.pas' {ScFeeStdLibDM: TDataModule},
  136. ScProjectFeeRateLibsUnit in '..\..\SideModule\FeeRate\ScProjectFeeRateLibsUnit.pas' {ScProjectFeeRateLib: TDataModule},
  137. ScProjectUnitPriceLibsUnit in '..\..\SideModule\UnitPrice\ScProjectUnitPriceLibsUnit.pas' {ScProjectUnitPriceLib: TDataModule},
  138. ScBrowseRelaFilesFrm in '..\..\MainModule\UI\ScBrowseRelaFilesFrm.pas' {ScBrowseRelaFilesForm},
  139. ScSelectBuildProjectsFrm in '..\..\MainUI\Forms\ScSelectBuildProjectsFrm.pas' {SelectBuildProjectForm},
  140. ScParseFileInfo in '..\..\MainUI\ProjectManage\ScParseFileInfo.pas',
  141. ConcreteFrm in '..\..\MainModule\UI\ConcreteFrm.pas' {ConcreteForm},
  142. ScBlockNewLibFrm in '..\..\MainModule\UI\ScBlockNewLibFrm.pas' {ScBlockNewLibForm},
  143. ScBrowseProjectFileFrm in '..\..\MainModule\UI\ScBrowseProjectFileFrm.pas' {ScBrowseProjectFileForm},
  144. ScDigitConfig in '..\..\MainModule\Model\ScDigitConfig.pas',
  145. ScDigitManagerUnit in '..\..\MainModule\Model\ScDigitManagerUnit.pas',
  146. ScReNameFrm in '..\..\MainModule\UI\ScReNameFrm.pas' {ReNameForm},
  147. ScBillsInsPosFrm in '..\..\MainModule\UI\ScBillsInsPosFrm.pas' {ScBillsInsPosForm},
  148. ScRelateBillFrm in '..\..\MainModule\UI\ScRelateBillFrm.pas' {ScRelateBillForm},
  149. ScSearchAndReplaceView in '..\..\MainModule\UI\ScSearchAndReplaceView.pas' {frmSearchAndReplace: TFrame},
  150. ScQuestFrm in '..\..\MainModule\UI\ScQuestFrm.pas' {ScQuestForm},
  151. ScBlockManagerViews in '..\..\MainModule\UI\ScBlockManagerViews.pas' {FrmBlockManager: TFrame},
  152. ScBlockCloneQuestFrm in '..\..\MainModule\UI\ScBlockCloneQuestFrm.pas' {BlockCloneQuestForm},
  153. ScImportExcelTree in '..\..\MainModule\Excel\ScImportExcelTree.pas',
  154. ScDrawingQuantityDM in '..\..\MainModule\Model\Budget\ScDrawingQuantityDM.pas' {DrawingQuantityDM: TDataModule},
  155. ScRationSearch in '..\..\MainModule\UI\ScRationSearch.pas' {frmRationSearch: TFrame},
  156. ScHistoryProjectsDM in '..\..\MainModule\Model\ScHistoryProjectsDM.pas' {DMHistoryProjects: TDataModule},
  157. ScKindsOfTrees in '..\..\MainModule\Model\ScKindsOfTrees.pas',
  158. ScHistoryProjectsForm in '..\..\MainModule\UI\ScHistoryProjectsForm.pas' {HistoryProjectsFrm},
  159. ScBackUpManagerForm in '..\..\MainModule\UI\ScBackUpManagerForm.pas' {BackUpManagerFrm},
  160. ScRefrencePriceFrm in '..\..\MainModule\UI\ScRefrencePriceFrm.pas' {frmRefrencePrice},
  161. ScProjectAnalyseFrm in '..\..\MainModule\UI\ScProjectAnalyseFrm.pas' {ScProjectAnalyseForm},
  162. ScProjectAnalyse in '..\..\MainModule\Model\ScProjectAnalyse.pas' {ScProjectAnalyseDM: TDataModule},
  163. ScProjectCloneFrm in '..\..\MainModule\UI\ScProjectCloneFrm.pas' {ScProjectCloneForm},
  164. ScZeroBillsFrm in '..\..\MainModule\UI\ScZeroBillsFrm.pas' {ZeroBillsForm},
  165. ScElectricityCalcDM in '..\..\MainModule\Model\ScElectricityCalcDM.pas' {ElectricityCalcDM: TDataModule},
  166. ScMEFeeRateFrm in '..\..\MainModule\UI\ScMEFeeRateFrm.pas' {MEFeeRateForm},
  167. ScElectricityCalcFrm in '..\..\MainModule\UI\ScElectricityCalcFrm.pas' {ScElectricityCalcForm},
  168. ScBlockLibsUnit in '..\..\MainModule\Model\ScBlockLibsUnit.pas',
  169. ScMtTransInfoFrm in '..\..\MainModule\UI\ScMtTransInfoFrm.pas' {MtTransInfoForm},
  170. ScBlockLibSelectFrm in '..\..\MainModule\UI\ScBlockLibSelectFrm.pas' {ScBlockLibSelectForm},
  171. ScCustomMachineDM in '..\..\MainModule\Model\ScCustomMachineDM.pas' {ScCustomMachine: TDataModule},
  172. ScResolver in '..\..\MainModule\Excel\ScResolver.pas',
  173. ScCommonIntf in '..\..\MainModule\Excel\ScCommonIntf.pas',
  174. ScExcel in '..\..\MainModule\Excel\ScExcel.pas',
  175. ScExcelImEx in '..\..\MainModule\Excel\ScExcelImEx.pas',
  176. ScPersistentData in '..\..\MainModule\Model\ScPersistentData.pas',
  177. ScNodeRecycleBinDM in '..\..\MainModule\Model\ScNodeRecycleBinDM.pas' {NodeRecycleBinDM: TDataModule},
  178. ScImportHintFrm in '..\..\MainUI\Forms\ScImportHintFrm.pas' {ScImportHintForm},
  179. ScNodeRecycleBinForm in '..\..\MainModule\UI\ScNodeRecycleBinForm.pas' {NodeRecycleBinFrm},
  180. ScSelectProjectPackageFilesFrm in '..\..\MainUI\ProjectManage\ScSelectProjectPackageFilesFrm.pas' {SelectProjectPackageFilesForm},
  181. ScCustomConcreteDM in '..\..\MainModule\Model\ScCustomConcreteDM.pas' {ScCustomConcrete: TDataModule},
  182. ScBillsCtrls in '..\..\MainModule\Model\ScBillsCtrls.pas',
  183. ScTreesEx in '..\..\MainModule\Excel\ScTreesEx.pas',
  184. ScBatchRationDataFrm in '..\..\MainModule\UI\ScBatchRationDataFrm.pas' {BatchRationDataForm},
  185. ScPriceDiffDM in '..\..\MainModule\Model\ScPriceDiffDM.pas' {ScPriceDiffData: TDataModule},
  186. ScPriceDiffView in '..\..\MainModule\UI\ScPriceDiffView.pas' {frmPriceDiff: TFrame},
  187. ScPeriodSetupFrm in '..\..\MainModule\UI\ScPeriodSetupFrm.pas' {PeriodSetupForm},
  188. ScGLJExtendDM in '..\..\MainModule\Model\ScGLJExtendDM.pas' {GLJExtendDM: TDataModule},
  189. ScProjectGLJSelectFrm in '..\..\MainModule\UI\ScProjectGLJSelectFrm.pas' {ProjectGLJSelectForm},
  190. ScHelpFrm in '..\..\MainModule\UI\ScHelpFrm.pas' {HelpForm},
  191. ScBPInsPosFrm in '..\..\MainUI\ProjectManage\ScBPInsPosFrm.pas' {ScBPInsPosForm},
  192. ScWebSearchFrm in '..\..\MainModule\UI\ScWebSearchFrm.pas' {WebSearchFrm},
  193. ScPHPWeb in '..\..\MainModule\Model\ScPHPWeb.pas' {PHPWeb: TDataModule},
  194. ScStaticBills in '..\..\MainModule\Model\ScStaticBills.pas',
  195. ScBillsLibDM in '..\..\MainModule\Model\ScBillsLibDM.pas' {BillsLibData: TDataModule},
  196. ScBillsLibView in '..\..\MainModule\UI\ScBillsLibView.pas' {BillsLibView: TFrame},
  197. ScWebInformationFrm in '..\..\MainModule\UI\ScWebInformationFrm.pas' {ScWebInformationForm},
  198. ScJumpFrm in '..\..\MainModule\UI\ScJumpFrm.pas' {JumpForm},
  199. ScBillsDM in '..\..\MainModule\Model\ScBillsDM.pas' {ScBillsModule: TDataModule},
  200. ScBillsConsts in '..\..\MainModule\Model\ScBillsConsts.pas',
  201. BuildLoanDataUnit in '..\..\MainModule\Model\BuildLoanDataUnit.pas' {BuildLoanDM: TDataModule},
  202. ScLeafTrees in '..\..\MainModule\Model\ScLeafTrees.pas' {LeafTreesDM: TDataModule},
  203. ScBaseTreeDM in '..\..\MainModule\Model\ScBaseTreeDM.pas' {BaseTreeDM: TDataModule},
  204. ScGroundCompensateDM in '..\..\MainModule\Model\ScGroundCompensateDM.pas' {GCTreeDM: TDataModule},
  205. ScGroundCompensateFeeLib in '..\..\MainModule\Model\ScGroundCompensateFeeLib.pas' {GCFeeLib: TDataModule},
  206. ScBillsGradeDM in '..\..\MainModule\Model\ScBillsGradeDM.pas' {ScBillsGradeData: TDataModule},
  207. ScStdItemLibDM in '..\..\MainModule\Model\ScStdItemLibDM.pas' {ScStdItemLibData: TDataModule},
  208. ScProjCustomStepDM in '..\..\MainModule\Model\ScProjCustomStepDM.pas' {ScProjCustomStepData: TDataModule},
  209. ScCustomStepDM in '..\..\MainModule\Model\ScCustomStepDM.pas' {CustomStepDM: TDataModule},
  210. ScXMLPort in '..\..\MainModule\Model\ScXMLPort.pas',
  211. ScGroundCompBatchSetFrm in '..\..\MainModule\UI\ScGroundCompBatchSetFrm.pas' {GCBatchSetForm},
  212. ScGroundCompensateCoeFrm in '..\..\MainModule\UI\ScGroundCompensateCoeFrm.pas' {GroundCompensateCoeForm},
  213. ScAreaFrm in '..\..\MainModule\UI\ScAreaFrm.pas' {AreaForm},
  214. BuildLoanFrm in '..\..\MainModule\UI\BuildLoanFrm.pas' {BuildLoanForm},
  215. ScGetCompareFrm in '..\..\MainModule\UI\ScGetCompareFrm.pas' {GetSourceForm},
  216. ScTenderDM in '..\..\MainModule\Model\ScTenderDM.pas' {ScTenderData: TDataModule},
  217. ScTenderAlgorithm in '..\..\MainModule\Model\ScTenderAlgorithm.pas',
  218. ScBillsGradeView in '..\..\MainModule\UI\ScBillsGradeView.pas' {frmBillsGrade: TFrame},
  219. ScCustomSetErrorFrm in '..\..\MainModule\UI\ScCustomSetErrorFrm.pas' {ScCustomSetErrorForm},
  220. ScReportBuildProjCompareFrm in '..\..\Reports\UI\ScReportBuildProjCompareFrm.pas' {ScReportBPCompareForm},
  221. dsErrorNodeList in '..\..\dsInterface\dsErrorNodeList.pas',
  222. dsExportExcel in '..\..\dsInterface\dsExportExcel.pas',
  223. dsGatherControl in '..\..\dsInterface\dsGatherControl.pas',
  224. dsGatherDataFrm in '..\..\dsInterface\dsGatherDataFrm.pas' {GatherDataForm},
  225. dsGatherDm in '..\..\dsInterface\dsGatherDm.pas' {dsGatherData: TDataModule},
  226. dsGatherSelectFrm in '..\..\dsInterface\dsGatherSelectFrm.pas' {GatherSelectForm},
  227. dsGatherTree in '..\..\dsInterface\dsGatherTree.pas',
  228. dsGatherUnit in '..\..\dsInterface\dsGatherUnit.pas',
  229. dsGatherUtils in '..\..\dsInterface\dsGatherUtils.pas',
  230. CacheTree in '..\..\Common\CacheTree.pas',
  231. ScProjGLJCompare in '..\..\MainModule\Model\ScProjGLJCompare.pas',
  232. ScPriceDiffGather in '..\..\Reports\Model\ScPriceDiffGather.pas',
  233. ScPriceDiffGatherDm in '..\..\Reports\Model\ScPriceDiffGatherDm.pas' {PriceDiffGatherData: TDataModule},
  234. ScPriceDiffGatherTables in '..\..\Reports\Model\ScPriceDiffGatherTables.pas',
  235. ScPriceDiffGatherTree in '..\..\Reports\Model\ScPriceDiffGatherTree.pas',
  236. ScPriceDiffGatherSelectFrm in '..\..\Reports\UI\ScPriceDiffGatherSelectFrm.pas' {PriceDiffGatherSelectForm},
  237. ScMicroWebHintFrm in '..\..\MainModule\UI\ScMicroWebHintFrm.pas' {ScMicroWebHintForm},
  238. ScBidGradeFrm in '..\..\MainModule\UI\ScBidGradeFrm.pas' {ScBidGradeForm},
  239. ScBidGradeDM in '..\..\MainModule\Model\ScBidGradeDM.pas' {ScBidGrade: TDataModule},
  240. ScBatchReplaceBillsFrm in '..\..\MainModule\UI\ScBatchReplaceBillsFrm.pas' {BatchReplaceBillsForm},
  241. ScFeeCrossBlockFrm in '..\..\MainModule\UI\ScFeeCrossBlockFrm.pas' {FeeCrossBlockForm},
  242. ScProjManagerTree in '..\..\MainUI\ProjectManage\ScProjManagerTree.pas',
  243. ScBuildProjSelectFme in '..\..\MainUI\ProjectManage\ScBuildProjSelectFme.pas' {ScBuildProjSelectFrame: TFrame},
  244. ScReportHelperUnit in '..\..\Reports\UI\ScReportHelperUnit.pas',
  245. ScPriceMinusTaxFrm in '..\..\MainModule\UI\ScPriceMinusTaxFrm.pas' {ScPriceMinusTaxForm},
  246. ScPriceMinusTaxDm in '..\..\MainModule\Model\ScPriceMinusTaxDm.pas' {PriceMinusTaxData: TDataModule},
  247. CheckProjectDataFrm in '..\..\Debug\CheckProjectDataFrm.pas' {CheckProjectDataForm},
  248. NewSingleGLJFrm in '..\..\MainModule\UI\NewSingleGLJFrm.pas' {NewSingleGLJForm},
  249. SysInfoUnit in '..\..\Common\SysInfoUnit.pas',
  250. ScNeiMengTransPriceFrm in '..\..\MainModule\UI\ScNeiMengTransPriceFrm.pas' {ScNeiMengTransPriceForm},
  251. ScXMLPortMap in '..\..\MainModule\Model\ScXMLPortMap.pas',
  252. ScReportSolutionFrm in '..\..\Reports\UI\ScReportSolutionFrm.pas' {RptSolutionFrm},
  253. ScSaveAsFileFrm in '..\..\MainUI\ProjectManage\ScSaveAsFileFrm.pas' {ScSaveAsFileForm},
  254. ScDeletedProjectsFrm in '..\..\MainModule\UI\ScDeletedProjectsFrm.pas' {ScDeletedProjectsForm},
  255. ScMicroWebFrm in '..\..\MainModule\UI\ScMicroWebFrm.pas' {ScMicroWebForm},
  256. ScCorrectGLJDM in '..\..\MainModule\Model\ScCorrectGLJDM.pas' {ScCorrectGLJ: TDataModule},
  257. ScDeviceStdDataDM in '..\..\MainModule\Model\ScDeviceStdDataDM.pas' {ScDeviceStdData: TDataModule},
  258. ScAutoCodeFrm in '..\..\MainModule\UI\ScAutoCodeFrm.pas' {ScAutoCodeForm},
  259. ScReportPrjCollectFrm in '..\..\Reports\UI\ScReportPrjCollectFrm.pas' {ScReportPrjCollectFrm},
  260. ScReportTplReOrderFrm in '..\..\Reports\UI\ScReportTplReOrderFrm.pas' {ScReportTplReOrderForm},
  261. ScForestRecoverFeeFrm in '..\..\MainModule\UI\ScForestRecoverFeeFrm.pas' {ForestRecoverFeeForm},
  262. ScGCNewFeeDisplaySetupFrm in '..\..\MainModule\UI\ScGCNewFeeDisplaySetupFrm.pas' {ScGCNewFeeDisplaySetupForm},
  263. ScShowMemoFrm in '..\..\MainModule\UI\ScShowMemoFrm.pas' {ShowMemoForm},
  264. ScReportTempDataSets in '..\..\Reports\Model\ScReportTempDataSets.pas' {ReportTempDataSets: TDataModule},
  265. ScEncryptEditions in '..\..\Common\ScEncryptEditions.pas',
  266. ScBatchRAdjustFrm in '..\..\MainModule\UI\ScBatchRAdjustFrm.pas' {BatchRAdjustForm},
  267. ScStructureIIISelectFrm in '..\..\MainUI\Forms\ScStructureIIISelectFrm.pas' {ScStructureIIISelectForm},
  268. ScBatchReplaceRationFrm in '..\..\MainModule\UI\ScBatchReplaceRationFrm.pas' {ScBatchReplaceRationForm},
  269. ScBatchCountPriceFrm in '..\..\MainModule\UI\ScBatchCountPriceFrm.pas' {ScBatchCountPriceForm},
  270. ScReportThreeProjFrm in '..\..\Reports\UI\ScReportThreeProjFrm.pas' {ScReportThreeProjForm},
  271. ScReportSelectMultiProjectsFrm in '..\..\Reports\UI\ScReportSelectMultiProjectsFrm.pas' {ScReportSelectMultiProjectsForm},
  272. ScColdHighRatesFrm in '..\..\MainModule\UI\ScColdHighRatesFrm.pas' {ScColdHighRatesForm},
  273. ScColdHighRatesDM in '..\..\MainModule\Model\ScColdHighRatesDM.pas' {ScColdHighRatesData: TDataModule},
  274. ScSQLResource in '..\..\SQL\ScSQLResource.pas',
  275. ScXXItemFrm in '..\..\MainModule\UI\ScXXItemFrm.pas' {ScXXItemForm},
  276. ScUniExpression in '..\..\MainModule\Model\ScUniExpression.pas',
  277. ScSelectBillsLevelFrm in '..\..\MainModule\UI\ScSelectBillsLevelFrm.pas' {SelectBillsLevelForm},
  278. ScCheckBillsFrm in '..\..\MainModule\UI\ScCheckBillsFrm.pas' {ScCheckBillsForm},
  279. ScCheckNullRationFrm in '..\..\MainModule\UI\ScCheckNullRationFrm.pas' {CheckNullRationForm},
  280. ScCheckNoPriceProjectGLJFrm in '..\..\MainModule\UI\ScCheckNoPriceProjectGLJFrm.pas' {CheckNoPriceProjectGLJForm},
  281. CLD_DogNoBySerialNo in '..\..\Common\CLD_DogNoBySerialNo.pas',
  282. ScTenderKindSelectFrm in '..\..\MainUI\Forms\ScTenderKindSelectFrm.pas' {ScTenderKindSelectForm},
  283. ScXMLToBuildProject in '..\..\MainModule\Model\ScXMLToBuildProject.pas',
  284. ScImportZheJiangXMLFrm in '..\..\MainModule\UI\ScImportZheJiangXMLFrm.pas' {ScImportZheJiangXMLForm};
  285. {$R *.res}
  286. var
  287. // 文件映射对象句柄
  288. ShareHandle: THandle;
  289. // 已运行实例的主窗体句柄
  290. PHWND: HWND;
  291. pData: PScShareMemory;
  292. SA: TSecurityAttributes;
  293. bWantAuthorize: Boolean;
  294. sToken, sInfo, sHint, sCheckCode: string;
  295. begin
  296. Application.Initialize;
  297. // 2020-09-24 InitConstsByDog要放在InitConsts前面
  298. InitConstsByDog;
  299. // 2020-08-14初始化常量从ScConsts.pas移到这里
  300. InitConsts;
  301. ShowWelcome;
  302. PHWND := 0;
  303. SA.nLength := SizeOf(SA);
  304. SA.lpSecurityDescriptor := nil;
  305. SA.bInheritHandle := False;
  306. ShareHandle := CreateFileMapping($FFFFFFFF, @SA, PAGE_READWRITE,
  307. 0, SizeOf(TScShareMemory), PChar(ScShareMemoryName));
  308. try
  309. // 已存在共享内存
  310. if GetLastError = ERROR_ALREADY_EXISTS then
  311. begin
  312. pData := MapViewOfFile(ShareHandle, File_MAP_WRITE, 0, 0, 0);
  313. try
  314. if pData <> nil then
  315. PHWND := pData^.AppHandle;
  316. if IsWindow(PHWND) then
  317. begin
  318. if ParamCount > 0 then
  319. pData^.CmdStr := ParamStr(1);
  320. PostMessage(PHWND, SCM_SHOWMAINFORM, 0, 0);
  321. if ParamCount > 0 then
  322. PostMessage(PHWND, SCM_OpenFile, 0, 0);
  323. end;
  324. finally
  325. if pData <> nil then
  326. UnmapViewOfFile(pData);
  327. end;
  328. Halt;
  329. end
  330. // 尚未存在共享内存
  331. else
  332. begin
  333. (******************这里屏蔽从Z+启动,方便网络版调试 ↓↓↓*****************
  334. {$IFDEF _ScOnline}
  335. G_URL := 'http://ol.smartcost.com.cn/'; // 从代码上看,只有网络版会用到此域名,所以暂不考虑非网络版。如果要考虑,则这一句挪到其它能通用的地方。
  336. PHPWeb.AnalyzeProtocol(ParamStr(1), sToken, G_URL); // Z+启动,如果参数有传域名,则对 G_URL 进行覆盖
  337. if sToken = '' then // 表示手工运行的
  338. begin
  339. Application.MessageBox('网络学习版不能直接运行,请从【Z+启动器】打开!', '系统提示', MB_OK + MB_ICONINFORMATION);
  340. Application.Terminate;
  341. Exit;
  342. end
  343. else
  344. begin
  345. // For Test only!
  346. // Application.MessageBox(PChar(ParamStr(1) + #10#13 + sToken), '系统提示', MB_OK + MB_ICONINFORMATION);
  347. // Application.Terminate;
  348. // Exit;
  349. case PHPWeb.Login(sToken, sInfo, sCheckCode) of
  350. ltLoginFail:
  351. begin
  352. sHint := sInfo;
  353. Application.MessageBox(PChar(sHint), '系统提示', MB_OK + MB_ICONWARNING);
  354. Application.Terminate;
  355. Exit;
  356. end;
  357. ltDisCon:
  358. begin
  359. Application.MessageBox('网络错误,请稍后重试!', '系统提示', MB_OK + MB_ICONWARNING);
  360. Application.Terminate;
  361. Exit;
  362. end;
  363. else
  364. begin
  365. ;
  366. end;
  367. end;
  368. end;
  369. {$ENDIF}
  370. *****************这里屏蔽从Z+启动,方便网络版调试 ↑↑↑******************)
  371. MainApp := Application;
  372. {$IFDEF _ScEncrypt}
  373. bWantauthorize := False;
  374. CreateEncryptLog;
  375. case OpenDog of
  376. CS_NeedAuthorize:
  377. begin
  378. CommonMessage(pmtError, [pmbOk], '您的试用时间已到,需要进行注册。');
  379. if not Authorize then
  380. begin
  381. HideWelcome;
  382. Halt;
  383. end;
  384. end;
  385. CS_NeedUpdate:
  386. begin
  387. CommonMessage(pmtHint, [pmbOk], '您的加密锁需要升级后才可使用。');
  388. if not UpdateLock then
  389. begin
  390. HideWelcome;
  391. Halt;
  392. end;
  393. end;
  394. CS_Error, CS_NoDog, CS_DogTypeError, CS_VerifyError:
  395. begin
  396. HideWelcome;
  397. CommonMessage(pmtError, [pmbOk], '没有检查到加密锁。'#13#10'请购买正版SmartCost。'
  398. + #13#10'如果插上加密锁后仍有问题,请拨打客服热线:' + LoadServicePhone + '。');
  399. {MessageError(0, '没有检查到加密锁。'#13#10'请购买正版SmartCost。'
  400. + #13#10'如果插上加密锁后仍有问题,请拨打客服热线:' + LoadServicePhone + '。');}
  401. Halt;
  402. end;
  403. // 2009-10-19 zhangyin 时间限制锁
  404. CS_EndDate:
  405. begin
  406. if (CommonMessage(pmtWarning, [pmbOk, pmbCancel],
  407. '您的使用时间已到,是否通过注册文件延长使用时间?') = pmOK) then
  408. begin
  409. if not Authorize then
  410. begin
  411. HideWelcome;
  412. Halt;
  413. end;
  414. end
  415. else
  416. begin
  417. HideWelcome;
  418. Halt;
  419. end;
  420. end;
  421. CS_CloseToLimitDate:
  422. begin
  423. CommonMessage(pmtHint, [pmbOk], '您的加密锁使用时间即将到期,如需延长使用时间,请联系客服中心。');
  424. end;
  425. CS_WantAuthorize:
  426. bWantAuthorize := True;
  427. end;
  428. if CheckDog = CS_VerifyError then
  429. begin
  430. HideWelcome;
  431. CommonMessage(pmtError, [pmbOk], '没有检查到加密锁。'#13#10'请购买正版SmartCost。'
  432. + #13#10'如果插上加密锁后仍有问题,请拨打客服热线:' + LoadServicePhone + '。');
  433. {MessageError(0, '没有检查到加密锁。'#13#10'请购买正版SmartCost。'
  434. + #13#10'如果插上加密锁后仍有问题,请拨打客服热线:' + LoadServicePhone + '。');}
  435. Halt;
  436. end;
  437. if CheckDog = CS_DogTypeError then
  438. begin
  439. HideWelcome;
  440. CommonMessage(pmtError, [pmbOk], '加密锁类型不正确,请检查。'
  441. + #13#10'如果插上加密锁后仍有问题,请拨打客服热线:' + LoadServicePhone + '。');
  442. {MessageError(0, '加密锁类型不正确,请检查。'
  443. + #13#10'如果插上加密锁后仍有问题,请拨打客服热线:' + LoadServicePhone + '。');}
  444. Halt;
  445. end;
  446. if bWantAuthorize then
  447. ShowADVMessage('感谢您购买SmartCost!'#13#10'目前本产品处于试用状态,需要进行注册。'#13#10+
  448. '了解详细信息请进入菜单“帮助”->“产品注册”。', '1');
  449. {$ENDIF}
  450. pData := MapViewOfFile(ShareHandle, File_MAP_WRITE, 0, 0, 0);
  451. try
  452. if pData <> nil then
  453. begin
  454. ZeroMemory(pData, SizeOf(TScShareMemory));
  455. pData^.AppHandle := Application.Handle;
  456. end;
  457. finally
  458. if pData <> nil then
  459. UnmapViewOfFile(pData);
  460. end;
  461. end;
  462. // {$IFDEF _ScOnline}
  463. // HideWelcome;
  464. // if not LoginForm then
  465. // begin
  466. // Application.Terminate;
  467. // Exit;
  468. // end;
  469. // ShowWelcome;
  470. // {$ENDIF}
  471. Application.CreateForm(TScMainForm, ScMainForm);
  472. Application.CreateForm(TRptSolutionFrm, RptSolutionFrm);
  473. Application.CreateForm(TScReportTplReOrderForm, ScReportTplReOrderForm);
  474. Application.CreateForm(TScReportSelectMultiProjectsForm, ScReportSelectMultiProjectsForm);
  475. BringWelcomeToTop;
  476. Application.Run;
  477. finally
  478. CloseHandle(ShareHandle);
  479. SaveDog;
  480. end;
  481. end.