George World

          技術(shù)改變明天,創(chuàng)新塑造未來(lái)! i(at)huadev.com Follow Me: http://t.sina.com.cn/georgeworld

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            28 隨筆 :: 0 文章 :: 5 評(píng)論 :: 0 Trackbacks

          2010年3月5日 #

          使用NetBeans Platform開(kāi)發(fā)軟件,你會(huì)發(fā)現(xiàn)軟件標(biāo)題欄總是類(lèi)似這樣的:
          NetBeans Platform build 20120812
          那么,如果將NetBeans Platform應(yīng)用的標(biāo)題欄換成自己的內(nèi)容呢,Come on,下面一步一步來(lái):

          第一步:進(jìn)入你的NetBeans Platform工程目錄,如下圖:

          第二步:進(jìn)入dist目錄,將發(fā)布包解壓縮,如下圖:


          第三步:以此進(jìn)入如下目錄:


          第四步:將org-netbeans-core-windows_testnetbeanssuite.jar再解壓縮,然后逐級(jí)進(jìn)入解壓縮后的目錄,如下圖:


          第五步:修改Bundle_testnetbeanssuite.properties文件中的標(biāo)題信息,如下:

          CTL_MainWindow_Title=George Studio
          CTL_MainWindow_Title_No_Project
          =George Software Demo


          第六步,刪除原來(lái)的TestNetBeansSuite\dist\testnetbeanssuite\testnetbeanssuite\testnetbeanssuite\modules\locale目錄下的org-netbeans-core-windows_testnetbeanssuite.jar文件,然后將
          剛才解壓縮后的TestNetBeansSuite\dist\testnetbeanssuite\testnetbeanssuite\testnetbeanssuite\modules\locale\org-netbeans-core-windows_testnetbeanssuite文件夾,打包為org-netbeans-core-windows_testnetbeanssuite.jar文件,放到原來(lái)org-netbeans-core-windows_testnetbeanssuite.jar文件所在的目錄,注意,打包后,org-netbeans-core-windows_testnetbeanssuite.jar內(nèi)的文件目錄應(yīng)該是這樣的:


          以上步驟完成后,備份新打包的這個(gè)org-netbeans-core-windows_testnetbeanssuite.jar文件,以備下次使用。

          然后,返回:\TestNetBeansSuite\dist\testnetbeanssuite\testnetbeanssuite\bin,運(yùn)行 testnetbeanssuite.exe,這時(shí)候,
          你看到啟動(dòng)的NetBeans Platform應(yīng)用,應(yīng)經(jīng)是剛才自己設(shè)置的標(biāo)題了,如下圖:



          特別說(shuō)明:
          如果你看到的應(yīng)用標(biāo)題還是原來(lái)的老標(biāo)題,不是你設(shè)置的新標(biāo)題,那么肯定是NetBeans Platform緩存的問(wèn)題,請(qǐng)刪除:
          C:\Users\gao\AppData\Roaming 目錄下的以你的應(yīng)用名為名字的文件夾,對(duì)于我的這個(gè)例子,就是:
          C:\Users\gao\AppData\Roaming\.testnetbeanssuite

          Mac OS X下,步驟相同,不同的是刪除NetBeans Platform緩存文件夾的路徑不一樣。
          至于Mac OS X下NetBeans Platform應(yīng)用的緩存目錄,我沒(méi)有去查看,用OSX的同學(xué)可以自己去找一下緩存目錄。



          posted @ 2012-09-12 17:29 George-tech 閱讀(1653) | 評(píng)論 (0)編輯 收藏

          NetBeans Platform ,very good,使用它開(kāi)發(fā)桌面軟件很方便,但是默認(rèn)基于NetBeans Platform開(kāi)發(fā)的軟件,啟動(dòng)屏圖片都是NetBeans自己的,如何換成我們自己的呢?按照如下步驟來(lái):

          第一步:打開(kāi)你的NetBeans Platform工程目錄,找到branding文件夾,如下圖:

          第二步:逐級(jí)進(jìn)入branding目錄下的startup文件夾,如下圖:


          第三步:在該目錄下添加一個(gè)啟動(dòng)屏圖片,如下圖:


          第四步:打包發(fā)布NetBeans Platform應(yīng)用,如下圖:


          第五步:到dist目錄下面,解壓縮發(fā)布包,運(yùn)行剛開(kāi)生成的NetBeans Platform應(yīng)用,如下圖:





          第六步:欣賞你的Splash 啟動(dòng)屏幕吧










          posted @ 2012-09-12 16:38 George-tech 閱讀(1195) | 評(píng)論 (0)編輯 收藏

          MyEclipse最大的優(yōu)點(diǎn)是,開(kāi)發(fā)web應(yīng)用時(shí),可以輕松地做到:修改Java類(lèi)后,在瀏覽器中刷新頁(yè)面立刻就可以看到修改的效果,不用手動(dòng)重啟Web Server。

          但是MyEclipse除此之外其他方面的功能,都與NetBeans差距很大。




          =================================================================================================

          NetBeans中也可以做到Web 應(yīng)用修改后“熱部署”,但是我4G的內(nèi)存,每次修改后,NetBeans熱部署都會(huì)內(nèi)存溢出。

          今天把NetBeans的各個(gè)角落菜單翻了一遍,終于找到了NetBeans中正確“熱部署”的步驟。
          在NetBeans中開(kāi)發(fā)Web項(xiàng)目是,應(yīng)該用“調(diào)試”狀態(tài)來(lái)運(yùn)行Web應(yīng)用,這樣就可以在修改java代碼后,按Alt + D,然后再按Y鍵來(lái)熱部署更改后的文件。
          注意,一定要把Web項(xiàng)目屬性中的選項(xiàng):“在保存時(shí)部署”這個(gè)選項(xiàng)個(gè)取消,不然會(huì)保存java文件時(shí)很慢,然后就內(nèi)存溢出了,所以,一定要把這個(gè)選項(xiàng)給取消掉。




          posted @ 2012-09-12 15:27 George-tech 閱讀(2785) | 評(píng)論 (1)編輯 收藏

          如果在Struts2的Action中有一個(gè)變量: private String CCustomerInfo cCustomerInfo;

          則使用MyEclipse生成的它的getter方法是:getCCustomerInfo()

          生成的setter方法是:setCCustomerInfo(CCustomerInfo cCustomerInfo);

           

          針對(duì)類(lèi)似“aTestClass”這樣的類(lèi)變量,IDE生成的getter和setter無(wú)法與Struts2頁(yè)面上的輸入框name綁定,遇到這種情況,應(yīng)該將“aTestClass”這樣的類(lèi)變量修改成“testClass”這樣的變量名,然后在生成它的getter和setter,生成的getter和setter方法應(yīng)該是:

          getTestClass()、setTestClass(ATestClass testClass)

          posted @ 2010-10-23 13:41 George-tech 閱讀(816) | 評(píng)論 (0)編輯 收藏

          使用sa用戶(hù)登錄查詢(xún)分析器,然后運(yùn)行如下SQL:

          exec sp_changeobjectowner 'Table_Name,'User_Name' -- 第一個(gè)參數(shù):表名字,第二個(gè)參數(shù):用戶(hù)

          posted @ 2010-09-10 11:39 George-tech 閱讀(169) | 評(píng)論 (0)編輯 收藏

          設(shè)置Struts2的<s:Datetimepicker />標(biāo)簽的樣式,實(shí)例如下:

          <script language="javascript" type="text/javascript">
                      function setDatetimepickerStyle(){//beginDate是時(shí)間選擇框的ID
                          document.getElementById("beginDate").childNodes(1).style.width = "199px";  //寬度
                      }
                      dojo.addOnLoad(setDatetimepickerStyle);
                  </script>
          posted @ 2010-09-09 11:59 George-tech 閱讀(683) | 評(píng)論 (0)編輯 收藏

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ">
          <html xmlns="
          >
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <title>漂浮層代碼-演示</title>
          <script language="javascript" type="text/javascript">
          var suspendDivWidth = "100";  //漂浮層寬度
          var suspendDivHeight = "300";  //漂浮層高度
          var qqNumberArray = new Array("1205640864","1491012702");  //QQ號(hào)碼列表

          var lastScrollY=0;
          function heartBeat(){
              var diffY,percent;
              if (document.documentElement && document.documentElement.scrollTop){
                  diffY = document.documentElement.scrollTop;
              }
              else if (document.body){
                  diffY = document.body.scrollTop;
              }
              else{
                  /*Netscape stuff*/
              }
              percent=.1*(diffY-lastScrollY);
              if(percent>0){
                  percent=Math.ceil(percent);
              }
              else{
                  percent=Math.floor(percent);
              }
              document.getElementById("georgeFloatingLayer_Div1").style.top=parseInt(document.getElementById("georgeFloatingLayer_Div1").style.top)+percent+"px";
              document.getElementById("georgeFloatingLayer_Div2").style.top=parseInt(document.getElementById("georgeFloatingLayer_Div1").style.top)+percent+"px";
              lastScrollY=lastScrollY+percent;
          }

          //合成浮動(dòng)層的內(nèi)容
          function getContentOfFloatingLayer(){
              var floatingLayerContent = "";
              for (var i in qqNumberArray){
                  floatingLayerContent = floatingLayerContent + "<a target=\"_blank\" href=\"
          ><img border=\"0\" src=\" alt=\"點(diǎn)擊這里給我發(fā)消息\" title=\"點(diǎn)擊這里給我發(fā)消息\"></a><br />";
              }
              floatingLayerContent = "<fieldset id=\"georgeFloatingLayerFieldset\" style=\"-moz-border-radius:8px; text-align:center;\"><legend>在線(xiàn)聯(lián)系</legend>"+floatingLayerContent+"</fieldset>";
              return floatingLayerContent;
          }

          var georgeFloatingLayer_1="<DIV id=\"georgeFloatingLayer_Div1\" style='left:0;POSITION:absolute;TOP:10px;width:0;height:0;border:0px;'></div>"
          var georgeFloatingLayer_2="<DIV id=\"georgeFloatingLayer_Div2\" style='background-color:#FFFFFF;right:2px;POSITION:absolute;TOP:10px;width:"+suspendDivWidth+"px;height:"+suspendDivHeight+"px;border:0;'>"+getContentOfFloatingLayer()+"</div>";
          document.write(georgeFloatingLayer_1);
          document.write(georgeFloatingLayer_2);

          window.setInterval("heartBeat()",1);
          </script>
          </head>

          <body>
          <div style="height:900px; background-color:#FF0000; border:solid #3399FF 1px;">ffffffffffff</div>
          </body>
          </html>


          轉(zhuǎn)載自《zhangjip_love的空間》George對(duì)原文進(jìn)行了改進(jìn)和部分注釋說(shuō)明>>

          ----------------------------------------------------------------------------------------

          前幾天因系統(tǒng)故障把系統(tǒng)重裝了一下,誰(shuí)知用 “深圳恒波軟件”開(kāi)發(fā)的文件夾加密器 居然打不開(kāi)了,輸入密碼顯示“密碼錯(cuò)誤”,真是豈有此理!我的密碼是固定的,怎會(huì)輸錯(cuò)?

          在網(wǎng)上搜索了半天,用了各類(lèi)軟件,通過(guò)種種實(shí)驗(yàn),最后終于取得進(jìn)展,雖說(shuō)沒(méi)有破解,但找回了我的文件,這可是幾個(gè)G呀!差點(diǎn)把我急死!

          相信還有與我有相同遭遇的網(wǎng)友,現(xiàn)推薦一下:

          方法來(lái)自網(wǎng)絡(luò),不敢居功!

          1、用7-ZIP這個(gè)軟件 直接打開(kāi)那個(gè)文件夾 一直往里面的文件夾點(diǎn) (這個(gè)隱藏的有倆文件夾,其中一個(gè)就是了) 等到最后的時(shí)候就是你加密的那個(gè)文件夾了   你把它復(fù)制或剪切出來(lái)就OK了 。

          是不是很簡(jiǎn)單呀??。。?!

          2、去除文件夾的屬性后,也可再次輸入密碼,能夠打開(kāi)。(不知是否是巧合)

          一,打開(kāi)我的電腦--->工具--->文件夾選項(xiàng)--->查看--->去掉“隱藏受保護(hù)的操作系統(tǒng)文件”前面的勾--->勾選"顯示所有文件和文件夾"--->去掉"隱藏已知文件類(lèi)型的擴(kuò)展名,這步做完,可看到加密過(guò)的文件夾里面有三個(gè)文件。(George PS:Windows 7的話(huà),“隱藏文件夾(大概是這個(gè)名字)的選項(xiàng)也要取消,就在"隱藏受保護(hù)的操作系統(tǒng)文件"選項(xiàng)的下面”)

          二,開(kāi)始-->運(yùn)行-->CMD 然后進(jìn)入加密的文件夾,如果你加密的文件夾路徑名為"c:\hack",那么就在CMD下面打開(kāi)hack文件夾(cd c:\hack)

          三,然后接著鍵入:attrib -s -r -h Thumbs.ms (George PS:我的名字是“Thumbs.mn”)這一步主要是去掉 Thumbs.ms 的其他屬性.這時(shí)為了方便,我們可以將Thumbs.ms重命名為123(ren Thumbs.ms 123)(George PS:如果無(wú)法重命名,可以使用如下命令:ren file://.c:/hack/Thumbs.ms 123).

          四,然后接著鍵入:cd 123 回車(chē)后,我們可以鍵入dir/x來(lái)查看123文件夾里面有些什么文件,我們發(fā)現(xiàn)下面有:COM1~1.{D3文件夾(George ps:這個(gè)名字不固定,我的是COM1.{一大堆字符}),我們?cè)贑MD下重命名它為456,(ren COM1~1.{D3 456),如果不能重命名,則需要在123文件下新建一個(gè)名為COM1-COM9中的任何一個(gè),這里我們就新建名為com1的文件夾為例,如果用md com1 肯定出現(xiàn)目錄無(wú)效 ,這里我們用命令為:md \\.\c:\com1 建立就可以了,然后我們?cè)俳又孛鸆OM1~1.{D3文件夾(ren COM1~1.{D3 456) OK。)(George PS:如果無(wú)法重命名,可以使用如下命令:ren \\.\C:hack\COM1~1.{D3 456

          五,然后接著鍵入:cd 456 然后再鍵入dir/x 查看456文件夾里面有些什么文件。發(fā)現(xiàn)里面有一個(gè)“ 0915~1”(George PS:同樣,這個(gè)名字也不確定)文件夾,這里需要注意,0915~1文件名前面和后面是有東西的,我們可以在顯示出來(lái)的文件名中復(fù)制過(guò)來(lái),這個(gè)文件夾是不可以直接雙擊打開(kāi)的,我們?cè)贑MD下重命名 0915~1為789(ren 0915~1 789)

          六,這時(shí),我們就可以直接進(jìn)入加密文件夾中打開(kāi)加密文件下的123文件夾,再打開(kāi)456文件夾,再打開(kāi)789文件夾下的LastF文件夾,里面的文件,就是加密的內(nèi)容,結(jié)束。

          原文地址:http://hi.baidu.com/zhangjip_love/blog/item/e88cc9764ba41617b051b9a2.html

          --------------------------------------------------------------------------------------------------------------

          George 另附一個(gè)刪除頑固文件夾的方法:

          在待刪除的文件夾的所在盤(pán)上新建一個(gè)文本文檔,把以下內(nèi)容復(fù)制到這個(gè)文檔,然后選擇另存為 文件名填上TEST.BAT,保存類(lèi)型選擇所有文件,然后把你想要?jiǎng)h除的的文件拖到TEST.BAT的圖標(biāo)上.

          DEL /F /A /Q \\?\%1
          RD /Q /S \\?\%1

          posted @ 2010-06-09 16:29 George-tech 閱讀(1637) | 評(píng)論 (0)編輯 收藏

          1. 1、啟動(dòng)Oracle

          新建批處理文件:startOracle.bat

          輸入命令:

           

          net start OracleOraHome92TNSListener
          net start OracleServiceORCL
          其中

          OracleOraHome92TNSListener

          OracleServiceORCL

          是Oracle的服務(wù)名稱(chēng)

          1. 2、關(guān)閉Oracle

          新建批處理文件:stopOracle.bat

          輸入命令:

           

          net stop OracleOraHome92TNSListener
          net stop OracleServiceORCL
          其中

          OracleOraHome92TNSListener

          OracleServiceORCL

          是Oracle的服務(wù)名稱(chēng)

          posted @ 2010-05-17 13:43 George-tech 閱讀(788) | 評(píng)論 (0)編輯 收藏

          查詢(xún)出一個(gè)表的所有字段信息,包括字段名、字段類(lèi)型、字段長(zhǎng)度、是都允許空值等等。

           

          select * from user_tab_columns c where c.table_name = upper('表名字')

          posted @ 2010-04-30 15:38 George-tech 閱讀(520) | 評(píng)論 (0)編輯 收藏

          現(xiàn)有若干騰訊微博(QQ微博)的邀請(qǐng)鏈接,在我手里也沒(méi)用,現(xiàn)發(fā)給網(wǎng)友:

          想要邀請(qǐng)鏈接的朋友請(qǐng)加群:90298926 (只限軟件開(kāi)發(fā)人員,謝謝)

          posted @ 2010-04-30 10:57 George-tech 閱讀(128) | 評(píng)論 (0)編輯 收藏

          框架結(jié)構(gòu):

          <frameset rows="127,*,11" frameborder="no" border="0" framespacing="0">
            <frame src="top.action" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" />
            <frame src="center.action" name="mainFrame" id="mainFrame" scrolling="auto" />
            <frame src="down.action" name="bottomFrame" scrolling="no" noresize="noresize" id="bottomFrame" />
          </frameset>
          <noframes>

           

          當(dāng)前位于框架頁(yè):top.action

          需要被調(diào)用的JavaScript函數(shù)【funcA()】位于框架頁(yè):center.action

          實(shí)現(xiàn)方法:

          在top.action內(nèi):window.parent.window.frames['mainFrame'].funcA();

          posted @ 2010-04-27 16:27 George-tech 閱讀(1336) | 評(píng)論 (1)編輯 收藏

          當(dāng)sql配置文件中的元素select/insert/update中,需要使用大于號(hào)>和小于號(hào)<時(shí),要使用

          <![CDATA[

          sql語(yǔ)句

          ]]> 

          來(lái)將sql語(yǔ)句括起來(lái),如:

          <select id="test_query" parameterType="hashmap" resultType="hashmap">
                  <![CDATA[
                  select t.f1,t.f2

                  from table t

                  where t.f3 <> 1

                  ]]>
                  <include refid="test_sql_common" />
              </select>

          posted @ 2010-04-26 11:50 George-tech 閱讀(3142) | 評(píng)論 (0)編輯 收藏

          分組。
          含有g(shù)roup by 的語(yǔ)句,select  的字段除了group by中出現(xiàn)的,其余必須是聚合函數(shù),類(lèi)似max這些確定唯一一條的
          SELECT a_id,max(b_id) FROM a_b GROUP BY a_id;

          posted @ 2010-04-19 17:43 George-tech 閱讀(232) | 評(píng)論 (0)編輯 收藏

          第一步:從http://netbeans.org/downloads/zip.html下載Netbeans IDE模塊文件:netbeans-6.8-200912041610-ml-xml.zip

          和 netbeans-6.8-200912041610-ml-soa.zip (文件時(shí)間部分可能不同);

          第二步:解壓第一步中下載的兩個(gè)壓縮包,將[xml2]和[soa2]兩個(gè)文件夾解壓到Netbeans IDE的安裝目錄。

          一切OK。

           

          另外,附一篇網(wǎng)上的帖子,關(guān)于在ubuntu下配置Netbeans IDE的SOA和UML模塊,原文如下:

          把UML建模功能加入到NetBeans6.8中,步驟如下:

               1)下載地址

          http://netbeans.org/downloads/zip.html

                    選擇/netbeans-6.8-200912041610-ml-uml.zip

               2)解壓,把解壓后的文件夾 uml6 一到netbeans安裝目錄

                     我首先切換到root用戶(hù)下了。

                     root@zhouzhk-laptop:/usr/local/netbeans-6.8#mv /home/zhouzhk/下載/uml6  .

                     然后修改文件加屬主。

                     root@zhouzhk-laptop:/usr/local/netbeans-6.8#chown -R root:root uml6

                3)重新啟動(dòng)NB6.8,在新建項(xiàng)目中就可以看到UML項(xiàng)目類(lèi)型了。

               SOA模塊用同樣的辦法安裝。

               不過(guò)SOA依賴(lài)于XML模塊,這兩個(gè)模塊需要同時(shí)安裝。我首先下載的SOA模塊,NB啟動(dòng)時(shí)報(bào)告依賴(lài)的眾多XML模塊不存在。于是我禁用了SOA模塊,啟動(dòng)了NB。再把XML模塊安裝完畢后,新建項(xiàng)目的向?qū)Ю餂](méi)有SOA。怎么辦呢?

               嘗試到 /home/zhouzhk/.netbeans/6.8/Modules目錄中看了看,這里面果然有各個(gè)模塊是否啟用的配置。例如:

               org-netbeans-modules-bpel-validation.xml

              把文件中

               <param name="enabled">false</param>

              修改為

                <param name="enabled">true</param>

              同樣修改所有bpel、xml、xslt、wsdl等修改日期為今天的文件。

              重新啟動(dòng)NB,在新建項(xiàng)目向?qū)е锌吹搅薙OA!

          原文地址:http://zhouzhk.javaeye.com/category/101872?show_full=true
          posted @ 2010-04-16 11:46 George-tech 閱讀(422) | 評(píng)論 (0)編輯 收藏

          1、C++函數(shù)的帶默認(rèn)值的參數(shù)只能在函數(shù)參數(shù)的最右側(cè);

          2、帶默認(rèn)值的函數(shù)在聲明時(shí)就寫(xiě)出默認(rèn)值,實(shí)現(xiàn)時(shí)不需寫(xiě)出默認(rèn)值。

          posted @ 2010-04-13 10:30 George-tech 閱讀(184) | 評(píng)論 (0)編輯 收藏

          Netbeans默認(rèn)的JDK是在安裝時(shí)指定的,如果因?yàn)樾遁d或者更換JDK發(fā)生了路徑變化,會(huì)引起Netbeans無(wú)法啟動(dòng),這時(shí)就需要去Netbeans安裝目錄下找到etc文件夾,里面有個(gè)netbeans.conf文件。打開(kāi)這個(gè)文件找到:
           # default location of J2SE JDK, can be overridden by using --jdkhome <dir> switchnetbeans_jdkhome="C:\Program Files\Java\jdk1.5.0_14"
          修改等于號(hào)之后的路徑到正確的路徑,啟動(dòng)Netbeans就可以了.

          posted @ 2010-03-09 11:06 George-tech 閱讀(573) | 評(píng)論 (0)編輯 收藏

          出現(xiàn)這個(gè)問(wèn)題,多半是因?yàn)榫幾gdll項(xiàng)目時(shí),選擇“代碼生成”方式是“多線(xiàn)程 DLL(/MD)”,這樣的生成方式,生成的.dll文件必須依賴(lài)Visual Studio的一些動(dòng)態(tài)鏈接庫(kù),換成“多線(xiàn)程(/MT)”方式,可以解決問(wèn)題,此時(shí)生成的.dll文件會(huì)比較大,可以部署在普通的windows機(jī)器上。

          操作過(guò)程如下:


          轉(zhuǎn)載相關(guān)文章:
          [VS2005]解決“由于應(yīng)用程序的配置不正確,應(yīng)用程序未能啟動(dòng),重新安裝應(yīng)用程序可能會(huì)糾正這個(gè)問(wèn)題”
             今天在準(zhǔn)備發(fā)布用VS2005寫(xiě)的那個(gè)程序時(shí),拷貝到我同事機(jī)器上,雙擊突然出現(xiàn)了“由于應(yīng)用程序的配置不正確,應(yīng)用程序未能啟動(dòng),重新安裝應(yīng)用程序可能會(huì)糾正這個(gè)問(wèn)題“,這個(gè)問(wèn)題很讓我意外,以前只出現(xiàn)過(guò)缺少DLL的情況,而這次出現(xiàn)這個(gè)問(wèn)題,讓我一時(shí)沒(méi)辦法。想想,無(wú)非是兩個(gè)原因引起的,要么是他沒(méi)有安裝VS2005的原因,要么是我的程序里依賴(lài)了其它的一些庫(kù)。于是百度一下,發(fā)現(xiàn)好多相關(guān)主題。我是按照這個(gè)帖子解決的:

          在VS2005下用C++寫(xiě)的程序,在一臺(tái)未安裝VS2005的系統(tǒng)上,
          用命令行方式運(yùn)行,提示:
          “系統(tǒng)無(wú)法執(zhí)行指定的程序”
          直接雙擊運(yùn)行,提示:
          “由于應(yīng)用程序的配置不正確,應(yīng)用程序未能啟動(dòng),重新安裝應(yīng)用程序可能會(huì)糾正這個(gè)問(wèn)題”

          以前用VC6和VS2003的話(huà), 如果缺少庫(kù)文件,是會(huì)提示缺少“**.dll”,但是用VS2005卻沒(méi)有這樣的提示。

          自己實(shí)驗(yàn)了一下,感覺(jué)以下幾種解決辦法是可行的:
          方法一:
          在類(lèi)似C:\Program Files\Microsoft Visual Studio 8\VC\redi
          st\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT 下找到了下列文件:

          msvcm80d.dll
          msvcp80d.dll
          msvcr80d.dll
          Microsoft.VC80.DebugCRT.manifest

          把這幾個(gè)文件拷貝到目標(biāo)機(jī)器上,與運(yùn)行程序同一文件夾或放到system32下,就可以正確運(yùn)行了。

          其他release版、MFC程序什么的都是拷redist下相應(yīng)文件夾下的文件就可以了,文件夾后都有標(biāo)識(shí)!

          方法二:
          修改編譯選項(xiàng),將/MD或/MDd 改為 /MT或/MTd,這樣就實(shí)現(xiàn)了對(duì)VC運(yùn)行時(shí)庫(kù)的靜態(tài)鏈接,在運(yùn)行時(shí)就不再需要VC的dll了。

          方法三:

          工程-》屬性-》配置屬性-》常規(guī)-》MFC的使用,選擇“在靜態(tài)庫(kù)中使用mfc”
          這樣生成的exe文件應(yīng)該就可以在其他機(jī)器上跑了。

          方法四:

          你的vc8安裝盤(pán)上找到再分發(fā)包vcredist_xxx.exe和你的程序捆綁安裝

          posted @ 2010-03-05 21:16 George-tech 閱讀(3473) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 建昌县| 陇西县| 同心县| 苗栗县| 两当县| 游戏| 辽中县| 沐川县| 三穗县| 平果县| 天祝| 塔城市| 乃东县| 修文县| 蕉岭县| 涡阳县| 朝阳县| 喀喇| 昌吉市| 错那县| 宜昌市| 抚松县| 三都| 南宁市| 通山县| 乐陵市| 桐乡市| 牟定县| 砀山县| 望谟县| 文水县| 潞西市| 临汾市| 灵山县| 彭阳县| 宁蒗| 灯塔市| 明溪县| 阳谷县| 安宁市| 牟定县|