• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 27,  comments - 68,  trackbacks - 0

            前段時間覺得好玩,安裝了Intel C++ Compiler進行評估,現在評估結束了,決定卸載。開始卸載之后,Visual C++ 6.0開始罷工了,報告無法找到xicl6.exe進行編譯。搜索了下注冊表,發現Intel C++ Compiler在安裝時候修改了Visual C++的工具設置,但卸載時沒有恢復。可以修改下面兩個地方:
            1、HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Platforms\Win32 (x86)\Tools\32-bit C/C++ Compiler for 80×86\Executable Path改成cl.exe;
            2、HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Platforms\Win32 (x86)\Tools\COFF Linker for 80×86\Executable Path改成link.exe就可以了。
            需要退出VC++ 6.0,然后重新啟動,一切就正常了。

            posted @ 2006-06-13 15:59 zealsoft 閱讀(2210) | 評論 (3)編輯 收藏
            使用Borland Developer Studio (BDS) 2006打開一個C++Builder工程,出現Access Violation錯誤:

            + $6[22B5B07D]{bcbide100.bpl} XMLProj.XMLProj.CreateNewBdsProjFile (Line 1249, "..\cpp\XMLProj.pas" + 2) + $6
            + $0[51F06B47]{rtl100.bpl? } System.System.@HandleAnyException (Line 9980, "system.pas" + 13) + $0
            ?+ $41[7C923786]{ntdll.dll?? } RtlConvertUlongToLargeInteger + $41
            ?+ $9[7C92EAF5]{ntdll.dll?? } KiUserExceptionDispatcher + $9
            ?+ $22[22B251E6]{bcbide100.bpl} CppProjOpts.CppProjOpts.MakeBprToBdsProj (Line 7414, "CppProjOpts.pas" + 8) + $22
            ?+ $24[22B2564C]{ bcbide100.bpl} CppProjOpts.CppProjOpts.TCppLegacyProjectFileHandler.Convert (Line 7637, "CppProjOpts.pas" + 11) + $24
            ?+ $9[22B257A8]{bcbide100.bpl} CppProjOpts.CppProjOpts.TCppLegacyProjectFileHandler.FileOpen (Line 7676, "CppProjOpts.pas" + 1) + $9
            ?+ $14[20C347A4]{coreide100.bpl} DocModul.DocModul.TFilterList.OpenFile (Line 777, "DocModul.pas" + 35) + $14
            ?+ $1E[20C39572]{coreide100.bpl} DocModul.DocModul.ProjectOpenDialog (Line 3079, "DocModul.pas" + 30) + $1E
            [00412CC7]{bds.exe???? }
            ?+ $3[218AD460]{vclactnband100.bpl} ActnMenus.ActnMenus.TCustomActionMainMenuBar.TrackMenu (Line 3143, "ActnMenus.pas" + 3) + $3
            ?+ $4[218A891D]{vclactnband100.bpl} ActnMenus.ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 883, "ActnMenus.pas" + 3) + $4
            ?+ $6[5203C998]{vcl100.bpl? } Controls.Controls.TWinControl.WndProc (Line 7242, "Controls.pas" + 101) + $6
            ?+ $4[218AA158]{vclactnband100.bpl} ActnMenus.ActnMenus.TCustomActionMenuBar.WndProc (Line 1572, "ActnMenus.pas" + 15) + $4
            ?+ $0[51F40BB0]{rtl100.bpl? } Classes.Classes.StdWndProc (Line 11572, "classes.pas" + 8) + $0
            ?+ $6F[77D18706]{USER32.dll? } GetDC + $6F
            ?+ $14F[77D187E6]{USER32.dll? } GetDC + $14F
            ?+ $122[77D189A0]{USER32.dll? } GetWindowLongW + $122
            ?+ $A[77D1BCC7]{USER32.dll? } DispatchMessageA + $A

            經過檢查,發現BDS2006只能處理C++Builder 5/6的工程,而早期的工程文件由于不是XML格式,就會導致上面的錯誤。而要想處理早期的工程,必須先用BCB 6.0轉換一下。

            posted @ 2006-05-03 22:36 zealsoft 閱讀(1547) | 評論 (0)編輯 收藏

            一個朋友來信說,他在工程中添加了一個數據導出到Excel表的類CSpreadSheet,結果出現了LNK2005的錯誤。在網上查了一下,發現還不只我這個朋友遇到這個問題,CSDN上也有類似問題:http://topic.csdn.net/t/20050311/09/3842070.html
            這個CSpreadSheet.h文件在CodeProjectCodeGuru上都有,其實是這個文件有問題。這個頭文件既包括了CSpreadSheet類的定義,還包括這個類的實現,這樣所有包含這個頭文件的類都有一份這個類的實現,鏈接的時候自然就出錯了。只要工程中有兩個以上的地方包含這個頭文件就會出現這個錯誤。解決的辦法很簡單,建立一個CSpreadSheet.cpp文件,然后在這個文件的開頭加上:

            #include?“stdafx.h”
            #include?“CSpreadSheet.h”

            然后把CSpreadSheet.h中的從“// Open spreadsheet for reading and writing”(含)到“#endif”(不含)之前的語句都剪切到CSpreadSheet.cpp中,也就是將類的聲明和實現分離,再將CSpreadSheet.cpp文件加到工程中,這樣就可以了。

            posted @ 2006-04-24 15:24 zealsoft 閱讀(1520) | 評論 (0)編輯 收藏
            早期的PhotoShop的SDK是免費的,不過現在已經收費了。主要是因為編寫PS插件的人太多,Adobe覺得可以賺一筆了。你現在仍然可以從這個地址找到4.0和5.0的SDK。不過最新版本的SDK只能從Adobe PhotoShop Developer Center獲得。一般的,你必須加入ASN Developer Program(收費)才能獲得全部SDK。不過你也可以提出申請,說明理由,Adobe可能會給予你免費的SDK。由于我們編寫插件的目的是為了教學研究使用,所以Adobe給予了免費的SDK。不過這個SDK中沒有包括Import和FileFormat等一些插件的頭文件、文檔和例子。不知道這是不是免費的SDK和收費的SDK的區別。
            posted @ 2005-10-09 11:27 zealsoft 閱讀(4437) | 評論 (17)編輯 收藏

            PhotoShop的插件體系由兩部分組成,一是插件(plug-in modules),二是宿主(plug-in hosts)。插件是Adobe或第三方開發者開發的、用以擴展標準Photoshop功能的軟件模塊,用戶可以不需改動宿主的代碼,而通過在系統中增加或升級插件以滿足自己的需要。宿主則負責把插件載入內存并通過一定接口進行調用、協作,當插件功能完畢之后,將插件從內存中卸載。Harald Heim的文章中介紹了支持PhotoShop插件的許多宿主軟件。

            每個PhotoShop插件的文件擴展名雖然都是.8開頭(表1),其實都是DLL文件。每個DLL中可以有多個插件,不過一般只帶有一個插件。

            表1 插件的類型和控制名

            文件類型

            擴展名

            通用

            .8BP

            Automation

            .8LI

            Color Picker

            .8BC

            Import

            .8BA

            Export

            .8BX

            Extension

            .8BE

            Filter

            .8BF


            使用Depends查看一個Dissolve.8bf的輸出函數就可以發現,其中的PluginMain函數是插件的入口函數,PhotoShop將通過這個函數訪問插件的功能。這個函數的名字可以通過修改資源文件的方式修改。另一個_DissolveProc@16是窗口回調函數,與PhotoShop無關。

            posted @ 2005-10-06 10:17 zealsoft 閱讀(2628) | 評論 (0)編輯 收藏

            之所以想開發PhotoShop的插件,來自于上學期的經歷。有個其他老師的學生老來問一些關于MFC的問題,她正在做一個合成孔徑雷達(SAR)圖象評估的軟件。作為一個電子工程系的學生,她的編程基礎當然不是很理想,所以那些GDI、窗口變換、文件操作的基本問題都可以難上她幾周的時間,看上去很可憐。象她這樣研究SAR的,機器上都裝有PhotoShop,我說你可以編寫一個PhotoShop插件,這樣就不用去了解那些Windows編程的細節,將精力主要集中在SAR算法上,否則兩年的時間怎么夠用呀,而且你注定無法成為一個Windows編程的高手,還是成為SAR專家比較靠得住。可是她的老師沒有想到過PhotoShop插件,她也從來沒有想過。我在想,有多少象她這樣的情況呢?所以,決定研究一下PhotoShop插件的編寫,也許對許多搞科研的人有用。下面介紹一下PhotoShop的插件所需要的基本工具和基本概念。

            要編寫PhotoShop的插件需要PhotoShop SDK。要得到該SDK,需要到http://www.adobe.com/devnet/photoshop/下載,安裝以后包括編寫插件所需要的頭文件、資源文件、文檔、輔助工具和例子。由于PhotoShop最初是從Mac機上移植過來的,所以它的文檔和大多數例子都有Mac機的痕跡,Adobe推薦在Windows上使用Mac機的資源格式,這樣可以方便開發支持Windows和Mac的插件,這對于從小就用Windows開發的人來說夠痛苦的。而且它的文檔從5.0版本以來就沒有怎么更新,所以最新的內容許多要靠閱讀例子獲得。PhotoShop的開發主要使用C/C++語言,SDK中的所有例子都包括Visual Studio.NET 2003的工程,這點還比較方便。

            PhotoShop支持的插件有以下種類:

            • Automation
              Automation模塊可以訪問所有Photoshop腳本事件。這些模塊都出現在Automate菜單或Help菜單。在SDK的Photoshop Actions Guide.pdf中介紹了這些插件的開發。
            • Color Picker
              Color Picker模塊為實現不同的顏色選擇器提供一個插件接口。
            • Import
              Import模塊在一個新的窗口打開圖象。Import模塊,常用于掃描儀或視頻捕捉卡接口,讀取壓縮格式或系統不支持的文件,通過Import 子菜單調用。
            • Export
              Export模塊輸出已存在的圖象,,常用于控制特殊打印機或以非標準壓縮格式進行文件輸出,通過Export子菜單調用。
            • Extension
              Extension模塊是內部模塊,接口不公開。
            • Filter
              Filter模塊(濾鏡)實施對當前圖像中的選定區域進行修改、潤色。這是大家最熟悉的部分,許多圖像效果便是出自這些模塊,通過Filter菜單調用。
            • Format
              Format模塊,也叫File Format和Image Format模塊,提供對讀寫其他圖象格式的支持。它們出現在Open..., Save As...和Save a Copy...等對話框的格式彈出菜單中。
            • Parser
              Parser模塊類似Import和Export模塊,提供在Photoshop和其他 (通常是矢量的)格式,如Adobe Illustrator™ or Adobe® PageMaker™之間交換數據的支持。它們的接口不公開。
            • Selection
              Selection模塊修改圖象中被選中的像素,也可以返回路徑或像素選擇區。這些模塊出現在Selection菜單下。

            如果想讀些入門教程,可以參考以下文章

            在今后的Blog中,我會逐步介紹有關開發的內容。

            posted @ 2005-09-12 17:22 zealsoft 閱讀(9221) | 評論 (12)編輯 收藏
            僅列出標題
            共3頁: 1 2 3 
            歡迎訪問我的學術博客

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(13)

            隨筆分類(28)

            隨筆檔案(27)

            搜索

            •  

            積分與排名

            • 積分 - 57839
            • 排名 - 396

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲精品午夜国产VA久久成人| 99久久国产综合精品成人影院| 久久久精品人妻无码专区不卡 | 久久精品国产99久久无毒不卡 | 品成人欧美大片久久国产欧美...| 久久精品男人影院| 香蕉aa三级久久毛片| 无码人妻久久久一区二区三区| 伊人久久大香线焦综合四虎| 久久精品国产亚洲5555| 77777亚洲午夜久久多喷| 97超级碰碰碰久久久久| 开心久久婷婷综合中文字幕| 久久这里只有精品18| 久久亚洲视频| 久久精品九九亚洲精品天堂| 久久精品国产亚洲AV忘忧草18| 九九久久99综合一区二区| 久久无码高潮喷水| 亚洲嫩草影院久久精品| 伊人久久大香线蕉综合Av| 久久久久亚洲精品中文字幕| 狠狠色婷婷久久一区二区三区| 一本大道久久香蕉成人网| 一本久久久久久久| 精品午夜久久福利大片| 色妞色综合久久夜夜| 欧美精品国产综合久久| 美女久久久久久| 国产精品热久久毛片| 青青草国产精品久久久久| 久久久久亚洲AV无码专区体验| 精品国产青草久久久久福利| 久久人妻少妇嫩草AV蜜桃| 久久人人爽人爽人人爽av| 少妇被又大又粗又爽毛片久久黑人 | 久久人与动人物a级毛片| 亚洲精品99久久久久中文字幕| 久久久久国产一区二区| 精品国产乱码久久久久久浪潮 | 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 |