一、準備工具
1.Devexpress vcl 14.1.3
下載地址http://download.csdn.net/user/rfjbco,共用個(gè)包,下載后解壓,程序目錄已帶有DxAutoInstaller
2.DxAutoInstaller
最新版下載地址http://forum.delphier.com/forum.php?mod=viewthread&tid=2&extra=page%3D1
二、安裝控件
打開(kāi)DxAutoInstaller ,選擇Dev安裝路徑

按Install,開(kāi)始安裝,安裝時(shí)會(huì )把已經(jīng)裝的版本卸載并安裝,生成類(lèi)似如下的日志
----------------------------------------------------------------------------------------------------
Copying Files: E:\DelphiPackages\DelphiXE7\DevExpressVcl_14.1.3\ExpressCore Library\Sources\*.*
----------------------------------------------------------------------------------------------------
Compiling package E:\DelphiPackages\DelphiXE7\DevExpressVcl_14.1.3\ExpressCore Library\Packages\dxCoreRS21.dpk
D:\SoftGreen\DelphiXE7\bin\dcc32.exe "E:\DelphiPackages\DelphiXE7\DevExpressVcl_14.1.3\ExpressCore Library\Packages\dxCoreRS21.dpk" --no-config -U"D:\SoftGreen\DelphiXE7\lib\Win32\release" -LN"C:\Users\Public\Documents\Embarcadero\Studio\15.0\Dcp" -LE"C:\Users\Public\Documents\Embarcadero\Studio\15.0\Bpl" -$D- -$L- -$Y- -Q -U"C:\Users\Public\Documents\Embarcadero\Studio\15.0\Dcp" -U"E:\DelphiPackages\DelphiXE7\DevExpressVcl_14.1.3\Library\Sources" -R"E:\DelphiPackages\DelphiXE7\DevExpressVcl_14.1.3\Library\Sources" -B -NU"E:\DelphiPackages\DelphiXE7\DevExpressVcl_14.1.3\Library\RAD Studio XE7" -N0"E:\DelphiPackages\DelphiXE7\DevExpressVcl_14.1.3\Library\RAD Studio XE7" -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE -NSWinapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;IBX;VclTee; -DUSENATIVELOOKANDFEELASDEFAULT
Embarcadero Delphi for Win32 compiler version 28.0
Copyright (c) 1983,2014 Embarcadero Technologies, Inc.
16227 lines, 0.17 seconds, 109300 bytes code, 1924 bytes data.
Compilation success
。。。。。。。。。。
拷貝此日志
三、生成合并的BPL
思路:提取所有運行時(shí)控件包中的contains中的內容,合并在一起。
我寫(xiě)了一個(gè)工具,用于提取運行時(shí)控件中的contains,后面附上源碼
把DxAutoInstaller 生成的日志拷到下面這個(gè)程序的右上角框,然后點(diǎn)“提取dpk包”按鈕,會(huì )把所有的dpk提取出來(lái)到左下框,然后再按”提成包含文件“,則把運行時(shí)dpk的contains內容提成到右邊的框??截愑疫吙降膬热?/p>

四、生成合并后的Dev包
新建一個(gè)包項目,配置如下,保存到\DevExpressVcl_14.1.3\Library\Sources下

把上面提取出來(lái)的包含文件拷進(jìn)去,用不到的控件包,去掉即可。

此單元源碼如下

Release模式編譯,如果提示如下

點(diǎn)Cancle即可。
生成出來(lái)Dev.bpl大概30M左右,再用AsPack壓縮,大小15M左右
五、例子
新建一個(gè)項目,配置如下
再放一堆Dev控件上去,效果如下



工具源碼,不能上傳附件,這里附上代碼


object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 357 ClientWidth = 764 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object cxFilterControl1: TcxFilterControl Left = 24 Top = 8 Width = 153 Height = 89 TabOrder = 0 end object cxTabControl1: TcxTabControl Left = 216 Top = 0 Width = 209 Height = 121 TabOrder = 1 Properties.CustomButtons.Buttons = <> Properties.TabIndex = 0 Properties.Tabs.Strings = ( 'asdf' 'asd' 'fa' 'df' 'asdf') ClientRectBottom = 117 ClientRectLeft = 4 ClientRectRight = 205 ClientRectTop = 24 end object cxGrid1: TcxGrid Left = 8 Top = 149 Width = 250 Height = 200 TabOrder = 2 object cxGrid1DBTableView1: TcxGridDBTableView Navigator.Buttons.CustomButtons = <> DataController.Summary.DefaultGroupSummaryItems = <> DataController.Summary.FooterSummaryItems = <> DataController.Summary.SummaryGroups = <> end object cxGrid1Level1: TcxGridLevel GridView = cxGrid1DBTableView1 end end object cxScheduler1: TcxScheduler Left = 431 Top = 8 Width = 350 Height = 250 ViewDay.Active = True Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] TabOrder = 3 Splitters = { CE0000007E0000005D01000083000000C900000001000000CE000000F9000000} StoredClientBounds = {01000000010000005D010000F9000000} end object cxHeader1: TcxHeader Left = 336 Top = 168 Width = 25 Height = 25 Sections = <> end object cxShellListView1: TcxShellListView Left = 280 Top = 199 Width = 250 Height = 150 TabOrder = 5 end object cxButton1: TcxButton Left = 576 Top = 288 Width = 75 Height = 33 Caption = 'cxButton1' TabOrder = 6 end object cxScrollBox1: TcxScrollBox Left = 280 Top = 127 Width = 185 Height = 41 TabOrder = 7 end object cxTextEdit1: TcxTextEdit Left = 56 Top = 122 TabOrder = 8 Text = 'cxTextEdit1' Width = 121 endend
聯(lián)系客服