<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    如鵬網(wǎng) 大學(xué)生計(jì)算機(jī)學(xué)習(xí)社區(qū)

    CowNew開(kāi)源團(tuán)隊(duì)

    http://www.cownew.com 郵件請(qǐng)聯(lián)系 about521 at 163.com

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      363 隨筆 :: 2 文章 :: 808 評(píng)論 :: 0 Trackbacks
    當(dāng)自定義的應(yīng)用程序向?qū)梢粋€(gè)項(xiàng)目時(shí),則它只是不能替換自動(dòng)創(chuàng)建的.dsp 項(xiàng)目設(shè)置文件。 .dsp 文件中的項(xiàng)目設(shè)置由假定所有生成的項(xiàng)目為 MFC 項(xiàng)目的內(nèi)部規(guī)則設(shè)置。 但是,Visual C++ 5.0 的新對(duì)象模型允許修改工具設(shè)置,以便從生成的項(xiàng)目中刪除所有依賴(lài) MFC 的自定義 AppWizards。

    Visual C++5.0 CCustomAppWiz 類(lèi)現(xiàn)在具有名為 CustomizeProject 在虛擬重寫(xiě)。 CustomizeProject 提供與 IBuildProject 接口自定義向?qū)А?IBuildProject 配置方法提供了一個(gè)的 IConfiguration 界面,用于在項(xiàng)目中每個(gè)生成配置。 IConfiguration 可以添加和刪除如編譯器提供給工具的設(shè)置。 在使用這些方法自定義向?qū)Э梢詣h除在 MFC 上添加依存關(guān)系的設(shè)置。

    示例代碼

    以下是示例 CustomizeProject 重寫(xiě)的演示 MFC 依賴(lài)項(xiàng)的刪除:
       #import "c:\Program Files\DevStudio\SharedIDE\bin\ide\devbld.pkg"
    void CNoMfcCustWizAppWiz::CustomizeProject(IBuildProject* pProject)
    {
    using namespace DSProjectSystem;
    long lNumConfigs;
    IConfigurationsPtr pConfigs;
    IBuildProjectPtr pProj;
    // Needed to convert IBuildProject to the DSProjectSystem namespace
    pProj.Attach((DSProjectSystem::IBuildProject*)pProject, true);
    pProj->get_Configurations(&pConfigs);
    pConfigs->get_Count(&lNumConfigs);
    //Get each individual configuration
    for (long j = 1 ; j < lNumConfigs+1 ; j++)
    {
    _bstr_t varTool;
    _bstr_t varSwitch;
    IConfigurationPtr pConfig;
    _variant_t varj = j;
    pConfig = pConfigs->Item(varj);
    // Remove Preprocessor def for MFC DLL specifier, _AFXDLL
    varTool   = "cl.exe";
    varSwitch = "/D \"_AFXDLL\"";
    pConfig->RemoveToolSettings(varTool, varSwitch, varj);
    varTool   = "rc.exe";
    varSwitch = "/d \"_AFXDLL\"";
    pConfig->RemoveToolSettings(varTool, varSwitch, varj);
    // OPTIONAL
    // Add Libs that MFC headers would have pulled in automatically
    // Feel free to customize this listing to your tastes
    varTool = "link.exe";
    varSwitch = "kernel32.lib user32.lib gdi32.lib winspool.lib "
    "comdlg32.lib advapi32.lib shell32.lib ole32.lib "
    "oleaut32.lib uuid.lib odbc32.lib odbccp32.lib";
    pConfig->AddToolSettings(varTool, varSwitch, varj);
    }
    }
    
    本代碼示例使用 Visual C++ 5.0 的新 COM 編譯器支持功能的說(shuō)明。 # import 語(yǔ)句導(dǎo)入,并創(chuàng)建 DEVBLD.PKG 類(lèi)型庫(kù)的所有類(lèi)型的定義。 這將允許使用窗體 IInterfacePtr 的 COM 智能指針,以及新的 _ bstr _ t 和 _ variant _ t 類(lèi)型代碼。 這些新類(lèi)型的所有自動(dòng)清理使用的內(nèi)存,并在超出范圍時(shí)釋放保持的接口指針。

    此外請(qǐng)注意標(biāo)準(zhǔn)的自定義應(yīng)用程序向?qū)⑹褂妙A(yù)編譯的頭文件 StdAfx.h。 應(yīng)當(dāng)將放 # import # 結(jié)尾處的語(yǔ)句 StdAfx.h 中包含列表。

    注意: DevBld.pkg 路徑將不同,如果您使用 Visual C++ 版本 6.0。 假設(shè) Visual C++ 版本 6.0 已安裝到 C: 驅(qū)動(dòng)器上的默認(rèn)目錄,# import 語(yǔ)句應(yīng)閱讀,如下所示:
       #import "C:\Program Files\Microsoft Visual Studio\Common\MsDev98\Bin\IDE\DevBld.Pkg"
    
    注意: 上面 </a0>-# import 行必須在代碼中相同的行。

    請(qǐng)參閱有關(guān) Visual C++ 文檔。

    警告

    • 請(qǐng)注意沒(méi)有編程的方法可用于刪除內(nèi)部的項(xiàng)目將該控件設(shè)置"Microsoft 基礎(chǔ)類(lèi)"設(shè)置在常規(guī)的項(xiàng)目設(shè)置由包含上述代碼的自定義向?qū)傻姆绞巾?xiàng)目仍將顯示"使用 MFC 共享 DLL 中"。 您可以更改此設(shè)置,唯一方法是不支持修改.dsp 項(xiàng)目設(shè)置文件。 但是,此設(shè)置僅用于某些 DevStudio MFC 用戶(hù)界面元素如類(lèi)向?qū)Ш鸵恍┗?MFC 的組件庫(kù)組件。 它應(yīng)該有一個(gè)非 MFC 項(xiàng)目沒(méi)有影響。
    • 即使后修改項(xiàng)目設(shè)置使用 AddToolSettings 和與上面的 RemoveToolSettings,默認(rèn)項(xiàng)目設(shè)置將仍然保持相同 Visual C++ 版本 5.0 中。 如果項(xiàng)目生成此自定義應(yīng)用程序向?qū)У挠脩?hù)打開(kāi)項(xiàng)目設(shè)置,并單擊重置,已還原的項(xiàng)目設(shè)置將包含已刪除的 MFC 引用。 再次,防止出現(xiàn)這種唯一的方法是使不支持的更改生成的.dsp 項(xiàng)目設(shè)置文件手動(dòng)自定義應(yīng)用程序向?qū)б褎?chuàng)建項(xiàng)目后。

      Visual C++ 版本 6.0 提供新的自動(dòng)化方法更改默認(rèn)項(xiàng)目設(shè)置的。 配置對(duì)象支持 MakeCurrentSettingsDefault 方法。 此方法更改成為當(dāng)前的設(shè)置配置的默認(rèn)項(xiàng)目設(shè)置。
    • 當(dāng)您使用 RemoveToolSettings 時(shí),刪除一次的只有一個(gè)工具設(shè)置。 在上面示例中進(jìn)行另一調(diào)用 RemoveToolSettings CL.EXE 命令行而不是附加到同一個(gè) varSwitch 語(yǔ)句的末尾刪除定義中刪除另一個(gè)的預(yù)處理器定義。 此外,請(qǐng)記住,工具設(shè)置的是大小寫(xiě)區(qū)分"/ d"和"/ D"不是相同的操作。
    • 遺憾的是,AddToolSettings、 RemoveToolSettings,和 AddCustomBuildStep (另一個(gè) IConfiguration 方法) 運(yùn)行僅在 Visual C++ 版本 5.0 在整個(gè)項(xiàng)目上,他們不能進(jìn)行工具設(shè)置或創(chuàng)建自定義生成步驟單個(gè)文件。 是例如最好通常添加處理使用 MIDL 文件并生成 TLB 和其他所需的項(xiàng)目文件的一個(gè)項(xiàng)目的 IDL 文件的自定義生成步驟。 在 Developer Studio 97 對(duì)象模型不支持此。 單個(gè)文件的自定義生成步驟需要自定義應(yīng)用程序向?qū)身?xiàng)目后手動(dòng)添加。

      Visual C++ 版本 6.0 對(duì)象模型不會(huì)支持若要更改的方法文件設(shè)置,并添加自定義生成步驟的文件。 請(qǐng)參閱 Visual C++ 版本 6.0 文檔的下列方法配置對(duì)象:
      AddFileSettings
      RemoveFileSettings
      AddCustomBuildStepToFile

    轉(zhuǎn)載自:http://support.microsoft.com/kb/173483

    大學(xué)生計(jì)算機(jī)學(xué)習(xí)社區(qū)
    posted on 2009-03-08 00:00 CowNew開(kāi)源團(tuán)隊(duì) 閱讀(591) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产精品亚洲四区在线观看| 美女视频黄频a免费观看| 男男AV纯肉无码免费播放无码 | 亚洲明星合成图综合区在线| 破了亲妺妺的处免费视频国产 | 美女网站免费福利视频| 美女视频黄a视频全免费网站一区| 久久精品亚洲综合专区| 日韩在线免费播放| 少妇太爽了在线观看免费视频| 亚洲欧美日韩一区二区三区在线| 亚洲色欲久久久综合网东京热 | 亚洲色婷婷综合久久| 亚洲成在人线aⅴ免费毛片| 无码人妻一区二区三区免费视频 | 国产免费A∨在线播放| 亚洲国产人成在线观看| 亚洲一区精品伊人久久伊人 | 亚洲综合色视频在线观看| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 亚洲欧美日韩久久精品| 亚洲精品国产成人99久久| 免费va在线观看| 国产片AV片永久免费观看| 日本免费A级毛一片| 美女被爆羞羞网站在免费观看| 亚洲国产电影在线观看| 精品国产综合成人亚洲区| 免费国产一级特黄久久| 青青青国产在线观看免费网站| 国产成年无码久久久免费| 免费精品国产自产拍在线观看 | 国产成人亚洲合集青青草原精品 | 三年片在线观看免费观看大全中国| 亚洲丝袜中文字幕| 亚洲一二成人精品区| 国产亚洲A∨片在线观看| 亚洲午夜精品第一区二区8050| 四虎影在线永久免费四虎地址8848aa | 国产亚洲免费的视频看| 一二三区免费视频|