<style id="7i3y3"></style>

      <sub id="7i3y3"><i id="7i3y3"></i></sub>

        午夜精品一区二区三区成人,中文字幕av一区二区,亚洲AVAV天堂AV在线网阿V,肥臀浪妇太爽了快点再快点,国产网友愉拍精品视频手机,国产精品无码a∨麻豆,久久中文字幕一区二区,a级国产乱理伦片在线观看al
        首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
        中華工控網(wǎng)首頁(yè)
          P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
          D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
          電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺(jué)
        收藏本文     查看收藏

        .net程序的不同
          .net程序和以往的Windows應(yīng)用程序有一個(gè)顯著不同的地方:它的可執(zhí)行文件的組織方式,不像以往的應(yīng)用程序。.net程序是由MSIL語(yǔ)言進(jìn)行組織,運(yùn)行時(shí)需要調(diào)用即時(shí)編譯器(JIT)編譯成本地匯編指令再來(lái)執(zhí)行,好比以前的VB程序一樣,是一個(gè)解釋執(zhí)行的過(guò)程。
          與指令相對(duì)應(yīng)的是數(shù)據(jù),一部分靜態(tài)數(shù)據(jù)或者說(shuō)是資源,對(duì)它們來(lái)說(shuō).net程序和傳統(tǒng)程序也大大不同。本文主要對(duì).net應(yīng)用程序資源的組成以及對(duì)它的操作進(jìn)行簡(jiǎn)單分析。

        托管資源說(shuō)明
          應(yīng)用程序資源主要包括字符串、圖像、聲音、視頻等,目前最常用的是前面兩種,本文主要是以在應(yīng)用bmp文件過(guò)程中的經(jīng)驗(yàn)做一下簡(jiǎn)單說(shuō)明。在過(guò)去,對(duì)應(yīng)于MFC,資源以.rc文件方式組織,程序在使用資源時(shí)使用它的資源ID號(hào)做為索引,用起來(lái)很不方便,而且如果想把資源從應(yīng)用程序做成一個(gè)單獨(dú)的資源dll文件,無(wú)論是制作還是使用,都是一件非常麻煩的事。
          .net程序在這些方面進(jìn)行了改進(jìn),首先在設(shè)計(jì)階段,它把各種資源統(tǒng)一保存在資源文件里,稱作托管資源。這里的資源文件包括兩種,一種是XML文件,一種是.resources文件。我們使用.net編程序,尤其是用VC.net編程,首要建立一個(gè)form窗體,在上面加一些菜單和按鈕,然后在上面添加一些圖標(biāo),這時(shí)對(duì)應(yīng)窗體名還另外生成了一個(gè).resx文件,這就是XML型資源文件。
          XML資源文件是由XML標(biāo)簽文本組成,用托管資源編輯器把這個(gè)窗體打開(kāi),就可以看到我們添加的圖標(biāo)和文本。另一種資源文件.resources是以二進(jìn)制方式存儲(chǔ)資源,它的體積要比XML資源文件小得多,這個(gè)文件在設(shè)計(jì)階段并不存在,只有VS在編譯.net程序時(shí),才會(huì)把XML資源文件轉(zhuǎn)化為.resources文件,同時(shí)VS還會(huì)把XML資源文件里的資源打包進(jìn)應(yīng)用程序和dll文件中。
          MS為什么要這么做,是否有必要做成兩種資源文件形式,還有MS為實(shí)現(xiàn)資源打包,還在VS中添加了像托管資源編譯器之類的小工具,這么不怕麻煩又是為什么?這所有的問(wèn)題都指向一個(gè)最有深度的解釋:服從.net戰(zhàn)略需要。

        托管資源的使用
          為方便使用這些資源,需要使用VS中包含的System::Resources程序集,其中操作.resx資源文件的類有ResXResourceSet()、ResXResourceReader()、ResXResourceWriter()。操作.resources文件的類有ResourceSet()、ResourceReader()、ResourceWriter()。這些類大體作用是為前兩個(gè)讀資源所用,后一個(gè)為寫(xiě)資源用。
          這是直接操作資源文件,當(dāng)資源被打包進(jìn)exe或dll(在.net術(shù)語(yǔ)中稱為程序集)中之后,我們用ResourceManager類,這個(gè)類只能讀資源。這里要說(shuō)明一下如何引用這些資源,用最簡(jiǎn)單直接的方式是用名稱引用。舉個(gè)例子,如果有一個(gè)程序集a.dll,里面打包一個(gè)r.resx文件,r.resx里有一個(gè)  img.bmp文件,使用這個(gè)程序集里的img.bmp怎么辦?用幾句話便可以輕松解決:
          System::Resources::ResourceManager ^res = nullptr;
          Assembly ^Asm1 = Assembly::LoadFile("X:\\a.dll");
          res = gcnew System::Resources::ResourceManager("a.r",Asm1);
          Image ^m=dynamic_cast<System::Drawing::Image^>(res->GetObject("img"));

        另類使用方法
          除了一些具體的細(xì)節(jié)可以查看msdn之外,再補(bǔ)充一些非常規(guī)的用法。
          把所有的資源都放進(jìn).resx文件再打包進(jìn)程序集固然是比較合乎邏輯的做法,如果要直接把資源(這里特別指的是bmp文件)放進(jìn)程序集,而不經(jīng)過(guò)打包這一步,是否可行?答案是沒(méi)有問(wèn)題。事實(shí)上MS就做了這樣的事,在控件開(kāi)發(fā)過(guò)程中,如果要給控件弄一個(gè)圖標(biāo),可以讓這個(gè)圖標(biāo)顯示在VS的工具箱中,那就必須要給這個(gè)圖標(biāo)(比如一個(gè)bmp文件)起一個(gè)和控件一樣的名字:(程序集名).(控件名).bmp,然后把這個(gè)圖標(biāo)設(shè)置為鏈接器的嵌入托管資源文件。具體設(shè)置的方法是,在解決方案資源管理器中,在項(xiàng)目名稱上點(diǎn)右鍵->屬性,在彈出的對(duì)話框左面一欄選擇鏈接器->輸入,然后在嵌入托管資源文件一欄中填寫(xiě)要嵌入的資源,如果有多個(gè)資源要嵌入,中間用逗號(hào)分隔開(kāi)。設(shè)置好之后,編譯,然后剩下的問(wèn)題就是引用。這里,引用也不是用常規(guī)的方法,而是使用System::IO程序集中的Stream類,以及Assembly類的GetManifestResourceStream方法。具體的引用方法如下:
          Assembly ^assembly = Assembly::GetExecutingAssembly();
          System::IO::Stream ^strm =assembly->GetManifestResourceStream("img.bmp");
          Image ^m=System::Drawing::Image::FromStream(strm);
          這里僅僅是對(duì)bmp文件的直接嵌入做了說(shuō)明,如果讀者感興趣的話,也可以試試別的資源。
          可以看出,這樣的方法更直接,但并沒(méi)有數(shù)據(jù)可以證明這種方法的速度和常規(guī)方法相比有多大差距,單從開(kāi)發(fā)的角度來(lái)看,無(wú)論是嵌入還是引用,這種方法都是比較簡(jiǎn)潔。當(dāng)然從管理的角度上這種做法不可取,效率和規(guī)范化經(jīng)常是一對(duì)不可調(diào)和的矛盾。

        后記:開(kāi)發(fā)工具的選擇
          下面介紹一下在開(kāi)發(fā).net程序過(guò)程中經(jīng)常使用到的兩個(gè)工具,以及如何使用它們:
          第一個(gè)工具是VS自帶的MSIL反匯編工具,可以將程序集以樹(shù)形列表的方式顯示出來(lái),也可以將程序集反匯編成IL指令文件。本文主要是用它查看托管資源的名稱,以便在其它地方引用。從文件->打開(kāi)開(kāi)始,選擇一個(gè)帶的托管資源的dll文件,點(diǎn)打開(kāi)后,雙擊manifest節(jié)點(diǎn),彈出一個(gè)新窗口,上面就是關(guān)于各個(gè)引用程序集的說(shuō)明,在其中查找.mresource,就可以找到托管資源文件名。
          第二個(gè)工具是大名鼎鼎的reflector,由一名MS的員工編寫(xiě),是反編譯和破解.net程序必不可少的工具,在本文中主要是用它看看是否已正確地把資源文件直接嵌入到程序集中。這個(gè)工具的使用更簡(jiǎn)單,打開(kāi)程序集文件后,直接點(diǎn)里面的Resources節(jié)點(diǎn)即可,如果已經(jīng)嵌入資源了的話,這個(gè)目錄下面直接就有這個(gè)資源。


         

        狀 態(tài): 離線

        公司簡(jiǎn)介
        產(chǎn)品目錄

        公司名稱: 北京世紀(jì)長(zhǎng)秋科技有限公司
        聯(lián) 系 人: 徐向農(nóng)
        電  話: 010-84645656
        傳  真: 010-84646515
        地  址: 北京市朝陽(yáng)區(qū)惠新東街8號(hào)設(shè)計(jì)大廈14層
        郵  編: 100029
        主  頁(yè):
         
        該廠商相關(guān)技術(shù)文摘:
        世紀(jì)星油庫(kù)進(jìn)出油量監(jiān)測(cè)方案
        《世紀(jì)星組態(tài)軟件》的獨(dú)特功能
        世紀(jì)星:罐區(qū)安全 全面監(jiān)控
        世紀(jì)星實(shí)現(xiàn)彈簧按鈕功能升級(jí)
        世紀(jì)星控件DBComm:小塊兒有大“智慧”——DBComm.OCX控件 實(shí)現(xiàn)PID控制
        世紀(jì)星組態(tài)軟件完美的時(shí)間轉(zhuǎn)換函數(shù):DateTimeConvert
        世紀(jì)星組態(tài)軟件強(qiáng)大的數(shù)據(jù)庫(kù)查詢函數(shù)
        建立完美通信:世紀(jì)星與西門(mén)子S7-200以太網(wǎng)
        怎樣通過(guò)OPC Client與世紀(jì)星交互
        世紀(jì)星與硬件設(shè)備的連接秘笈
        世紀(jì)星組態(tài)軟件新技術(shù):短息報(bào)警功能
        世紀(jì)星組態(tài)軟件的數(shù)據(jù)存儲(chǔ)策略
        更多文摘...
        立即發(fā)送詢問(wèn)信息在線聯(lián)系該技術(shù)文摘廠商:
        用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
        請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

        關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
        工控網(wǎng)客服熱線:0755-86369299
        版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved

        主站蜘蛛池模板: 欧美成本人视频免费播放| 国产成人高清精品亚洲一区| 国产免费人成网站在线播放| 国产区成人精品视频| 免费看国产成人无码a片| 欧美黑吊大战白妞| 久久人妻无码一区二区| 精品人妻无码专区中文字幕| 亚洲午夜香蕉久久精品| 波多野结衣久久一区二区| 人摸人人人澡人人超碰手机版| 国产中文三级全黄| 久久亚洲中文字幕精品有坂深雪| 日韩人妻久久精品一区二区| 亚洲午夜伦费影视在线观看| 色综合天天综合天天综 | 三级国产在线观看| 六十熟妇乱子伦视频| 蜜芽久久人人超碰爱香蕉| 亚洲av午夜精品无码专区| 亚洲一区二区偷拍精品| 就去色综合| 国产亚洲中文字幕久久网| 精品日韩精品国产另类专区| 国产精品一区二区三区色| 亚洲精品久综合蜜| 日韩在线欧美在线| 国产中年熟女大集合| 成人区人妻精品一区二区不卡| 国产精品毛片一区二区三| japanese人妻中文字幕| 一本色道久久加勒比综合| 亚洲欧美综合精品成人导航| 91精品91久久久久久| 粗大猛烈进出高潮视频| 久草国产在线观看| 粗壮挺进邻居人妻无码| 亚洲第一福利视频| 华人在线亚洲欧美精品| 无码少妇高潮浪潮av久久| 九九热视频在线观看一区|