SmartCost_Budget.dpr 25 KB

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