欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Formula One 9.0控件實(shí)戰(zhàn):從注冊(cè)到C++讀寫(xiě)XLS的避坑指南

Formula One 9.0控件實(shí)戰(zhàn):從注冊(cè)到C++讀寫(xiě)XLS的避坑指南 簡(jiǎn)介Formula One 9.0是一套基于Java開(kāi)發(fā)的VTS編輯工具定位為免費(fèi)安裝版軟件提供模板化編輯與內(nèi)容定制能力適合需要周期性制作或調(diào)整VTS內(nèi)容的個(gè)人用戶與小型團(tuán)隊(duì)。壓縮包共316個(gè)文件整體僅6.76MB主要包含HTML說(shuō)明文檔、Java類(lèi)文件與運(yùn)行庫(kù)、界面組件庫(kù)、XML解析組件及配置文件等各類(lèi)型分工明確可支持軟件安裝、界面交互、參數(shù)調(diào)整與XML數(shù)據(jù)轉(zhuǎn)換。包內(nèi)附帶的HTML與readme文檔是重要操作指引便于用戶按需查閱。目前已有3621人學(xué)習(xí)下載反映出該工具在目標(biāo)人群中有一定實(shí)用價(jià)值。對(duì)希望低成本獲取完整編輯方案的用戶而言這套免費(fèi)包省去了授權(quán)費(fèi)用同時(shí)自帶卸載程序安裝管理便捷結(jié)合XML處理能力與模板機(jī)制能有效幫助完成VTS相關(guān)內(nèi)容的創(chuàng)建與維護(hù)。1. 為什么「formula one.zip」值得下載一張能嵌入程序里的 Excel好多維護(hù)老系統(tǒng)的朋友第一次看到 formula one.zip 這名字都會(huì)愣一下這跟賽車(chē)有什么關(guān)系其實(shí)它指的是 Formula One 9.0 控件一個(gè) ActiveX 表格組件也就是很多人說(shuō)的 formula one 控件。它活在 MFC、VB、Delphi 這類(lèi)桌面程序里負(fù)責(zé)把 Excel 的讀寫(xiě)、公式計(jì)算和打印能力搬進(jìn)自己的界面很多遺留系統(tǒng)的報(bào)表模塊就靠它在跑。如果你是要接手這類(lèi)老代碼或者需要在目標(biāo)機(jī)器不裝 Office 的情況下快速生成 xls 文件這份包通常是恢復(fù)開(kāi)發(fā)環(huán)境的捷徑——里面一般有控件本體、注冊(cè)說(shuō)明和示例工程。下文按我平時(shí)接手新環(huán)境的順序從選型、注冊(cè)、代碼調(diào)用到高頻事故把怎么用和坑在哪里一次說(shuō)清楚。2. 選型判斷Formula One 9.0 比 Excel 自動(dòng)化好在哪里2.1 先認(rèn)清它是誰(shuí)ActiveX 表格控件到底做了什么Formula One 9.0 本質(zhì)是個(gè)進(jìn)程內(nèi) COM 組件常見(jiàn)形態(tài)就是單文件 OCX比如包里的 F1Book.ocx。它模擬的是 Excel 97-2003 時(shí)代表格的核心能力單元格讀寫(xiě)、內(nèi)置公式引擎、區(qū)域選擇、打印預(yù)覽以及 .xls 文件的導(dǎo)入導(dǎo)出。開(kāi)發(fā)者在 IDE 里把它拖到對(duì)話框上程序一啟動(dòng)界面上就有一張完整表格不需要自己畫(huà)網(wǎng)格。理解它的工作方式有個(gè)關(guān)鍵點(diǎn)整個(gè)表格控件運(yùn)行在程序自己的進(jìn)程里不依賴(lài)外部 Office 進(jìn)程。你要顯示的數(shù)據(jù)通過(guò) COM 接口傳給控件內(nèi)部的表格內(nèi)核用戶看到的是控件渲染出來(lái)的表格改完以后你可以再把內(nèi)容讀回來(lái)或者直接存成 .xls。這里要糾正一個(gè)容易誤會(huì)的認(rèn)知Formula One 9.0 不是 Excel也不會(huì)偷偷調(diào)用 Excel 的 API。它是獨(dú)立實(shí)現(xiàn)的一套表格引擎和 Excel 文件格式兼容但不等于塞了一個(gè) Office 進(jìn)去。對(duì)部署來(lái)說(shuō)是好事目標(biāo)機(jī)器沒(méi)有 Office 也能運(yùn)行但代價(jià)是個(gè)別高版本 Excel 特有格式比如新版的 .xlsx 擴(kuò)展樣式它并不完全認(rèn)識(shí)。所以很多老項(xiàng)目里它只管讀寫(xiě) .xls邏輯代碼也從此穩(wěn)定跑了很多年。從結(jié)構(gòu)上看控件內(nèi)部是一套完整的表格對(duì)象模型工作簿、工作表、單元格、區(qū)域、公式、格式。你通過(guò) COM 接口操作這些對(duì)象跟操作 Excel 對(duì)象模型的思路很像但輕量得多??梢酝ㄟ^(guò)接口設(shè)置列寬、行高、合并單元格、邊框、字體背景色可以有多個(gè)工作表也可以對(duì)命名區(qū)域做操作。這套對(duì)象模型和 .xls 文件格式并不是一一對(duì)應(yīng)的有些文件里包含的特性如果控件不支持打開(kāi)時(shí)會(huì)被舍棄或報(bào)兼容問(wèn)題所以老項(xiàng)目往往強(qiáng)調(diào)版本匹配。2.2 和 Excel 自動(dòng)化、MFC 網(wǎng)格控件比9.0 值在哪里接手老系統(tǒng)時(shí)我常被問(wèn)一個(gè)問(wèn)題報(bào)表模塊為什么不直接用 MFC Grid 或者調(diào)用 Excel 自動(dòng)化我先說(shuō)結(jié)論對(duì)于“不裝 Office、又要保存 .xls 文件”的場(chǎng)景Formula One 9.0 是很務(wù)實(shí)的選擇。下面這張對(duì)比表是我實(shí)際評(píng)估時(shí)用的參照。方案文件格式支持公式引擎部署體積服務(wù)端穩(wěn)定性Formula One 9.0.xls 讀寫(xiě)內(nèi)置數(shù)百個(gè)函數(shù)一個(gè) OCX 依賴(lài)庫(kù)進(jìn)程內(nèi)無(wú)外部進(jìn)程Excel COM 自動(dòng)化全面完整必須裝 Office服務(wù)端易掛死需保護(hù)MFC 網(wǎng)格控件需自寫(xiě)導(dǎo)入導(dǎo)出無(wú)小穩(wěn)定但開(kāi)發(fā)量大Excel 自動(dòng)化的問(wèn)題是進(jìn)程托管。程序里通過(guò) COM 啟動(dòng) Excel.ApplicationExcel 在獨(dú)立進(jìn)程里工作一旦某個(gè)打開(kāi)文檔彈了個(gè)對(duì)話框沒(méi)人點(diǎn)整個(gè)調(diào)用就掛住了在無(wú)人值守的服務(wù)器上尤其痛苦還得處理 Excel 進(jìn)程殘留。Formula One 9.0 全部工作在程序進(jìn)程內(nèi)不需要啟動(dòng) Office也不需要考慮版本升級(jí)帶來(lái)的接口漂移這是它能在遺留系統(tǒng)里扎根的根本原因。MFC 網(wǎng)格控件的對(duì)比更直接畫(huà)表格、處理拖選、粘貼這些交互不難難的是公式引擎和文件格式。做一個(gè)基本能用的 .xls 寫(xiě)盤(pán)流程加上字符集轉(zhuǎn)換、合并單元格、列寬設(shè)置、公式解析工作量會(huì)迅速失控。而 Formula One 9.0 把這一層都做完了調(diào)用成本是幾個(gè) COM 接口文檔又是現(xiàn)成的。現(xiàn)實(shí)中的遷移成本也是個(gè)決定項(xiàng)。把一間跑了十年的報(bào)表模塊從 Formula One 遷到 Excel COM不只是替換接口封裝還要處理模板兼容、公式差異、打印布局這些細(xì)節(jié)典型工作量以周計(jì)。而繼續(xù)沿用 9.0新人都能通過(guò)包里的示例工程快速上手性價(jià)比明顯更高。2.3 邊界什么場(chǎng)景千萬(wàn)別選它適合不意味著萬(wàn)能。我一般把下面幾種場(chǎng)景視為反向指標(biāo)提醒不要硬用。第一種前端要復(fù)雜的 Excel 圖表、數(shù)據(jù)透視表、迷你圖這超出了它的定位。控件的強(qiáng)項(xiàng)是數(shù)據(jù)和公式不是可視化分析硬做出來(lái)效果和兼容性都別扭。第二種程序運(yùn)行在 64 位原生進(jìn)程中并且不打算支持 32 位兼容——這份控件是 32 位組件接不進(jìn)來(lái)。第三種業(yè)務(wù)需要和 Excel 實(shí)時(shí)雙向聯(lián)動(dòng)例如模板由用戶在 Office 里不停改樣式程序要立刻反應(yīng)它對(duì) .xls 的支持是按“文件交換”設(shè)計(jì)的不是按“和 Office 同步編輯”設(shè)計(jì)的。第四種團(tuán)隊(duì)完全沒(méi)有桌面 C/VB 基礎(chǔ)也不愿意維護(hù) COM 調(diào)用代碼那選型不如換成新出的跨平臺(tái)表格庫(kù)直接重寫(xiě)還有救。劃清邊界后再?zèng)Q定用不用能少走很多彎路。下面進(jìn)入部署環(huán)節(jié)這也是新手最容易卡住的第一關(guān)。3. 解壓與注冊(cè)讓控件在系統(tǒng)里立住的三步3.1 先認(rèn)清包里都有什么拿到 formula one.zip第一步不是急著雙擊而是先列一下內(nèi)容。常見(jiàn)的打包結(jié)構(gòu)大概是這樣的文件/目錄作用F1Book.ocx控件本體ActiveX 組件注冊(cè)后使用注冊(cè)說(shuō)明.txt / install.bat部署腳本或步驟說(shuō)明F1Book.chm開(kāi)發(fā)幫助文檔Samples\不同語(yǔ)言的示例工程如果只想要運(yùn)行環(huán)境控件本體就夠了要做二次開(kāi)發(fā)幫助文檔和示例工程才是后面的主力。我習(xí)慣先把 chm 打開(kāi)檢索“SSGetText”和“SaveFile”兩個(gè)詞基本能快速判斷這個(gè)版本的方法命名風(fēng)格也確認(rèn)是否帶了類(lèi)型庫(kù)信息。有些包里還有 .reg 文件內(nèi)容是把控件的 GUID 和 ProgID 寫(xiě)進(jìn)注冊(cè)表。這個(gè)先查看文本內(nèi)容不要直接合并因?yàn)楹藢?duì)位寬更有用。3.2 32 位與 64 位注冊(cè)時(shí)先選對(duì) regsvr32這兒是最典型的一個(gè)坑。F1Book.ocx 是 32 位組件在 64 位機(jī)器上注冊(cè)時(shí)默認(rèn)調(diào)用的 regsvr32.exe 可能不對(duì)。系統(tǒng)里有兩個(gè)人C:\Windows\System32\regsvr32.exe 是 64 位版C:\Windows\SysWOW64\regsvr32.exe 是 32 位版。注冊(cè) 32 位 OCX要用后者。# 以管理員身份打開(kāi)命令行先切到解壓目錄 cd C:\formula_one # 注冊(cè) 32 位控件路徑里寫(xiě)明 SysWOW64 下的 32 位 regsvr32 C:\Windows\SysWOW64\regsvr32.exe /s F1Book.ocx # 正常情況會(huì)靜默成功想看到反饋去掉 /s 參數(shù) C:\Windows\SysWOW64\regsvr32.exe F1Book.ocx命令邏輯說(shuō)明/s 表示靜默模式注冊(cè)成功不彈對(duì)話框去掉后如果看到“DllRegisterServer 成功”的提示說(shuō)明注冊(cè)表寫(xiě)入正常。選擇 SysWOW64 下 regsvr32 的原因是32 位 OCX 的注冊(cè)邏輯依賴(lài) 32 位運(yùn)行時(shí)由 64 位 regsvr32 加載會(huì)進(jìn)入重定向或加載錯(cuò)誤輕則失敗重則控件在 IDE 里顯示不出來(lái)。注意很多包自帶的 install.bat 往往只寫(xiě)了“regsvr32 xxx.ocx”沒(méi)固定位寬也沒(méi)帶完整路徑。我一般不用現(xiàn)成腳本而是像上面這樣自己寫(xiě)一行把路徑和位寬固定下來(lái)排查時(shí)也很清楚。如果注冊(cè)時(shí)提示“模塊已加載但找不到入口點(diǎn)”八成就是 regsvr32 版本選錯(cuò)了。另一種可能是控件依賴(lài)的 VC 運(yùn)行庫(kù)沒(méi)裝——老版本控件可能依賴(lài)舊 msvcrt 系列通常補(bǔ)裝對(duì)應(yīng)運(yùn)行庫(kù)即可這個(gè)放到第 5 章再展開(kāi)。注冊(cè)后確認(rèn)控件出現(xiàn)在“選擇控件”列表里。以 Delphi 或 Visual Studio 為例工具箱里右鍵選“Components/Choose Items”在 COM 組件頁(yè)搜索 F1Book 或 Formula One勾選后控件圖標(biāo)出現(xiàn)在工具箱這一步通過(guò)注冊(cè)這關(guān)才算真正過(guò)了。3.3 工具箱里看不到控件時(shí)的檢查路徑從注冊(cè)成功到設(shè)計(jì)期能用中間還會(huì)隔著一層看不到的問(wèn)題。我遇到過(guò)注冊(cè)命令返回成功但工具箱里就是搜不到。這時(shí)按下面順序排查。第一確認(rèn)你用的 IDE 是 32 位還是 64 位。現(xiàn)代 Visual Studio 的 IDE 本身是 32 位進(jìn)程能識(shí)別 32 位控件但如果環(huán)境是 64 位的集成工具可能只列 64 位組件控件就不在列表里。第二檢查控件文件是否被安全軟件隔離。OCX 是老軟件某些防護(hù)策略會(huì)把它當(dāng)可疑文件直接隔離注冊(cè)表里有殘留但文件沒(méi)了。第三重跑一次注冊(cè)命令并保留輸出觀察 DllRegisterServer 返回是否真的成功。第四如果是 .NET 工程檢查項(xiàng)目平臺(tái)目標(biāo)是否設(shè)為 x86AnyCPU 在 64 位機(jī)器上會(huì)默認(rèn)按 64 位運(yùn)行32 位控件自然加載失敗。排查完如果還不行有一個(gè)驗(yàn)證注冊(cè)表的小技巧打開(kāi)運(yùn)行框輸入 regedit找到 HKCR\CLSID 或 HKCU\Software\Classes\CLSID搜索控件名或 ProgID能看到對(duì)應(yīng)項(xiàng)就說(shuō)明至少注冊(cè)過(guò)。注意 32 位控件注冊(cè)的鍵在 WoW64 重定向路徑下界面里看到的 HKCR 已經(jīng)是合并視圖所以看不到也別急著下結(jié)論按上面四步走更可靠。控件順利進(jìn)入工具箱后真正的工作才剛開(kāi)始。下一章用一個(gè)最小 C 示例把核心調(diào)用鏈路串起來(lái)。4. 代碼接入C 里讀寫(xiě) XLS 的最小可運(yùn)行示例4.1 在工程里引入類(lèi)型庫(kù)在 VC6 時(shí)代的 MFC 工程里最快的方式是在對(duì)話框編輯器里右鍵插入 ActiveX 控件IDE 自動(dòng)生成 CWnd 派生包裝類(lèi)然后你只需要在對(duì)話框類(lèi)里聲明一個(gè)成員變量DoDataExchange 里建立關(guān)聯(lián)之后就能直接調(diào)用控件的成員函數(shù)。這種方式最穩(wěn)妥因?yàn)榘b類(lèi)里的調(diào)用邏輯是 IDE 根據(jù)類(lèi)型庫(kù)生成的不容易錯(cuò)。另一種方式是 #import 指令它讀取 OCX 內(nèi)嵌的類(lèi)型庫(kù)自動(dòng)生成智能指針和接口定義。這種方式適合沒(méi)有對(duì)話框界面、想在后臺(tái)直接操作表格的場(chǎng)景比如一個(gè)簡(jiǎn)單的報(bào)表生成工具。// 放在預(yù)編譯頭之后指定絕對(duì)路徑 // named_guids 讓編譯器導(dǎo)出 CLSID_F1Book 等常量 // no_namespace 讓接口定義進(jìn)入全局命名空間簡(jiǎn)化調(diào)用 #import C:\\formula_one\\F1Book.ocx named_guids, no_namespace邏輯說(shuō)明編譯時(shí)編譯器會(huì)讀取 F1Book.ocx 里的類(lèi)型庫(kù)信息生成一個(gè) .tlh/.tli 頭文件里面包含接口定義、智能指針類(lèi)和 CLSID 常量。運(yùn)行時(shí)通過(guò)這個(gè)信息創(chuàng)建控件實(shí)例。如果編譯報(bào)“無(wú)法打開(kāi)類(lèi)型庫(kù)”先檢查路徑里的反斜杠是不是被當(dāng)成了轉(zhuǎn)義符再確認(rèn)這個(gè) OCX 確實(shí)帶類(lèi)型庫(kù)。實(shí)際工程里我更喜歡“IDE 生成包裝類(lèi) #import 偶爾用來(lái)寫(xiě)命令行工具”的組合。包裝類(lèi)代碼直觀新人接項(xiàng)目時(shí)讀起來(lái)負(fù)擔(dān)小#import 適合快速驗(yàn)證某個(gè)接口行為寫(xiě)一次性腳本很方便但跨編譯器版本時(shí)生成結(jié)果可能有差異。4.2 打開(kāi)工作簿并讀寫(xiě)單元格用 IDE 生成的包裝類(lèi)來(lái)演示最清晰。假設(shè)包裝類(lèi)類(lèi)型是 CF1Book成員變量叫 m_book下面的代碼完成打開(kāi)文件、寫(xiě)入數(shù)據(jù)、讀取數(shù)據(jù)三個(gè)基本動(dòng)作。// 打開(kāi)一個(gè)已有的 .xls 文件 BOOL bOk m_book.OpenFile(LC:\\data\\demo.xls, FALSE, FALSE); if (!bOk) { AfxMessageBox(L打開(kāi)工作簿失敗檢查文件或格式兼容性); return; } // B2 寫(xiě)入一個(gè)數(shù)字 88.5 m_book.SSSetNumber(2, 2, 88.5); // A1 寫(xiě)入文本 m_book.SSSetText(1, 1, L訂單號(hào)); // 讀取 A1 文本 CString sVal m_book.SSGetText(1, 1);參數(shù)說(shuō)明OpenFile 的第一個(gè)參數(shù)是文件路徑第二個(gè)參數(shù)表示是否更新外部鏈接FALSE 表示不更新第三個(gè)參數(shù)是是否只讀FALSE 表示可寫(xiě)。SSSetNumber 的三個(gè)參數(shù)分別是行、列、數(shù)值SSSetText 的第一個(gè)參數(shù)是文本行號(hào)和列號(hào)都從 1 開(kāi)始不是從 0 開(kāi)始這是新手最容易寫(xiě)錯(cuò)的地方。注意SS 系列接口的行列號(hào)都從 1 開(kāi)始。我第一次接這類(lèi)控件時(shí)按習(xí)慣從 0 寫(xiě)結(jié)果所有數(shù)據(jù)都偏了一格排查了半天。還有一件事SSGetText 返回的是單元格的顯示內(nèi)容受單元格格式影響。比如 88.5 如果被格式化成兩位小數(shù)讀出來(lái)就是“88.50”。想拿原始數(shù)值用 SSGetNumber想拿用戶看到的字符串用 SSGetText。兩者用途不同取值時(shí)先想清楚要哪個(gè)。4.3 公式計(jì)算與保存導(dǎo)出公式部分最值得養(yǎng)成的習(xí)慣是寫(xiě)完公式后顯式調(diào)用一次 Recalc把計(jì)算落定。有些版本默認(rèn)自動(dòng)重算開(kāi)啟不調(diào)用也沒(méi)事但如果讀入的 .xls 里手動(dòng)關(guān)閉了迭代計(jì)算或者文件本身是第三方程序生成的后續(xù)取值就可能是公式串而不是結(jié)果。顯式調(diào)用讓行為可預(yù)期。// D1 寫(xiě)入求和公式引用 B2:B10 區(qū)域 m_book.SSSetFormula(1, 4, LSUM(B2:B10)); // 手動(dòng)重算參數(shù) FALSE 表示同步等待計(jì)算完成 m_book.Recalc(FALSE); // 讀取 D1 的計(jì)算結(jié)果顯示文本例如 88.5 CString sResult m_book.SSGetText(1, 4); // 保存到新文件 // 第二個(gè)參數(shù) 0 表示由擴(kuò)展名推斷格式1 表示分隔文本 m_book.SaveFile(LC:\\data\\result.xls, 0, FALSE);參數(shù)說(shuō)明SSSetFormula 的第三參數(shù)是公式字符串必須以等號(hào)開(kāi)頭。Recalc 的布爾參數(shù)表示“是否后臺(tái)計(jì)算”FALSE 是同步等待適合接下來(lái)立即取值的場(chǎng)景。SaveFile 的第二個(gè)參數(shù)是文件類(lèi)型標(biāo)識(shí)0 通常對(duì)應(yīng) .xls1 對(duì)應(yīng)制表符分隔文本不同版本枚舉值略有差別第三個(gè)參數(shù)是“覆蓋前是否提示”FALSE 表示直接覆蓋。大批量寫(xiě)入時(shí)還有個(gè)性能建議盡量避免逐格調(diào)用 SSSetText/SSSetNumber循環(huán)次數(shù)一多性能很難看。常見(jiàn)做法是先把數(shù)據(jù)組織成二維數(shù)組找控件提供的區(qū)域?qū)懭虢涌谝淮翁峤换蛘吲R時(shí)關(guān)閉屏幕刷新寫(xiě)完再統(tǒng)一打開(kāi)。這兩種方式都能顯著減少調(diào)用開(kāi)銷(xiāo)具體接口名在類(lèi)型庫(kù)文檔里檢索“Block”或“Array”相關(guān)方法就能找到。文件保存完成后確認(rèn)一下 COM 資源釋放。使用智能指針時(shí)把對(duì)象置空或離開(kāi)作用域即可如果是對(duì)話框包裝類(lèi)在窗口銷(xiāo)毀時(shí)確保沒(méi)有掛著的公式引用。關(guān)閉前再觸發(fā)一次 Recalc 也能避免殘留的未計(jì)算狀態(tài)被寫(xiě)進(jìn)文件。到這里一個(gè)最小可用鏈路已經(jīng)通了注冊(cè)控件、創(chuàng)建實(shí)例、打開(kāi)文件、讀寫(xiě)單元格、寫(xiě)公式、重算、保存。剩下的工作基本是往這個(gè)模板里填業(yè)務(wù)。代碼層面相對(duì)可控真正讓老工程師頭疼的往往是環(huán)境問(wèn)題——下面這一章我把高頻事故集中列出來(lái)。5. 避坑清單注冊(cè)、亂碼、公式失效的五類(lèi)高頻事故這章不按章節(jié)講而是直接列事故。每一條我都標(biāo)了現(xiàn)象、原因和解決方便你對(duì)照排查。5.1 regsvr32 報(bào)“模塊已加載但找不到入口點(diǎn)”現(xiàn)象在 64 位 Windows 上注冊(cè) F1Book.ocx命令提示符返回“模塊已加載但找不到入口點(diǎn) DllRegisterServer”控件無(wú)法使用。原因最常見(jiàn)是用 64 位 regsvr32.exe 去處理 32 位 OCX。64 位進(jìn)程加載 32 位 DLL 時(shí)入口點(diǎn)解析失敗自然會(huì)報(bào)這個(gè)錯(cuò)。另一個(gè)常見(jiàn)原因是目標(biāo)機(jī)器缺 VC 運(yùn)行庫(kù)老 OCX 依賴(lài)舊版運(yùn)行時(shí)入口點(diǎn)函數(shù)根本進(jìn)不到。解決按第 3 章的做法改用 C:\Windows\SysWOW64\regsvr32.exe 重新注冊(cè)。若仍失敗用依賴(lài)檢查工具查一下 OCX 依賴(lài)的 DLL 哪些缺失補(bǔ)裝對(duì)應(yīng)運(yùn)行庫(kù)。不要圖省事直接下載所謂的“修復(fù)工具”容易引入別的問(wèn)題。5.2 中文導(dǎo)出亂碼現(xiàn)象程序在本地顯示中文正常保存成 .xls 后用 Excel 打開(kāi)中文變成問(wèn)號(hào)或亂碼。原因?qū)懕P(pán)時(shí)字符編碼不匹配。老控件默認(rèn)按系統(tǒng) ANSI 代碼頁(yè)處理字符串程序內(nèi)部如果是 UTF-8 或 Unicode 字符串而界面用 ANSI 接口傳入就會(huì)錯(cuò)位。中文環(huán)境 Windows 的 ANSI 代碼頁(yè)是 936非中文環(huán)境的客戶機(jī)則是其他代碼頁(yè)同一份數(shù)據(jù)在兩個(gè)環(huán)境間搬動(dòng)就會(huì)出現(xiàn)這種詭異亂碼。解決優(yōu)先使用寬字符接口凡是能傳 BSTR 的方法就傳 UTF-16 字符串不要在調(diào)用前轉(zhuǎn)成窄字符串。其次保存前顯式設(shè)置控件的代碼頁(yè)屬性或者把系統(tǒng)區(qū)域統(tǒng)一設(shè)為中文后再生成文件。最笨但有效的兜底方案是導(dǎo)出后用腳本讀回來(lái)驗(yàn)證一遍內(nèi)容把亂碼掐在測(cè)試階段。5.3 公式計(jì)算結(jié)果莫名不變現(xiàn)象用 SSSetFormula 寫(xiě)完公式再調(diào)用 SSGetText 讀計(jì)算結(jié)果讀到的還是公式本身或上一次的舊值。原因一是該版本控件默認(rèn)自動(dòng)重算未開(kāi)啟公式寫(xiě)進(jìn)去只保存表達(dá)式不觸發(fā)計(jì)算二是寫(xiě)入順序有問(wèn)題先取數(shù)后寫(xiě)公式時(shí)序反了。解決寫(xiě)完所有公式后統(tǒng)一調(diào)用一次 Recalc(FALSE)再取數(shù)。如果是聯(lián)動(dòng)大表注意把 Recalc 放在最后避免中間取值拿到中間態(tài)。還有個(gè)小建議設(shè)置公式前先確認(rèn)區(qū)域里沒(méi)有殘留的保護(hù)鎖否則公式寫(xiě)入被拒錯(cuò)誤代碼不會(huì)直接提示。5.4 客戶機(jī)報(bào) ActiveX 控件無(wú)法創(chuàng)建現(xiàn)象開(kāi)發(fā)機(jī)跑得好好的打包發(fā)布到客戶機(jī)程序啟動(dòng)時(shí)彈“不能創(chuàng)建對(duì)象”“ActiveX 控件無(wú)法創(chuàng)建”之類(lèi)的錯(cuò)。原因只拷貝了 EXE沒(méi)有把 OCX 和依賴(lài)庫(kù)帶過(guò)去也沒(méi)有注冊(cè)。開(kāi)發(fā)機(jī)上有注冊(cè)表信息客戶機(jī)是干凈的自然找不到控件。解決把注冊(cè)步驟寫(xiě)進(jìn)安裝腳本安裝時(shí)按管理員權(quán)限執(zhí)行 SysWOW64 的 regsvr32 注冊(cè)控件。裝完再用測(cè)試程序確認(rèn)一次而不是讓用戶直接跑生產(chǎn)程序因?yàn)樯a(chǎn)程序里報(bào)錯(cuò)定位要繞一大圈。分發(fā)時(shí)注意文件版本要保持一致別開(kāi)發(fā)機(jī)一個(gè)版本、客戶機(jī)另一個(gè)版本。5.5 和本地 Office 搶文件關(guān)聯(lián)現(xiàn)象用戶雙擊 .xls 文件本應(yīng)打開(kāi) Excel結(jié)果被 Formula One 控件關(guān)聯(lián)的程序打開(kāi)了或者反過(guò)來(lái)控件程序打不開(kāi) Excel 表格。原因某些注冊(cè)腳本會(huì)把 .xls 的文件關(guān)聯(lián)也寫(xiě)進(jìn)注冊(cè)表安裝后接管了文件類(lèi)型。這屬于注冊(cè)信息過(guò)界不是控件本身的功能問(wèn)題。解決檢查注冊(cè)腳本是否包含 HKCR.xls 相關(guān)鍵值如果有編輯腳本去掉關(guān)聯(lián)部分再裝。已經(jīng)出現(xiàn)關(guān)聯(lián)被搶的在“打開(kāi)方式”里把默認(rèn)程序改回 Excel。部署時(shí)盡量采用按需調(diào)用不主動(dòng)搶占?xì)雨P(guān)聯(lián)這樣用戶的系統(tǒng)環(huán)境不會(huì)因?yàn)榘惭b一個(gè)控件而改變使用習(xí)慣。6. 驗(yàn)證與進(jìn)階注冊(cè)體檢 讓 Python 也來(lái)讀寫(xiě)同一張表6.1 驗(yàn)證注冊(cè)狀態(tài)的三個(gè)命令最后給一個(gè)快速確認(rèn)環(huán)境健康度的檢查路徑。裝完或接手一臺(tái)新機(jī)器我一般按以下三條命令做體檢十分鐘內(nèi)判斷控件是否真正可用。# 1. 用 32 位 regsvr32 重新注冊(cè)一次輸出成功信息 C:\Windows\SysWOW64\regsvr32.exe F1Book.ocx # 2. 查注冊(cè)表確認(rèn) ProgID 已存在 reg query HKCR\F1Book /s # 3. 依賴(lài)檢查只在異常時(shí)做正常環(huán)境可以跳過(guò)說(shuō)明第一條命令最直觀成功提示出現(xiàn)說(shuō)明 DLL 本身可被系統(tǒng)加載第二條查 ProgID確認(rèn)的不僅是注冊(cè)過(guò)還確認(rèn)名字沒(méi)被其他版本覆蓋。三件事都過(guò)再打開(kāi) IDE 拖一個(gè)控件做冒煙測(cè)試基本上可以開(kāi)工。6.2 進(jìn)階用 comtypes 讓 Python 調(diào)用控件最后一個(gè)實(shí)用技巧。有些自動(dòng)化測(cè)試要批量生成報(bào)表又不想引入重量級(jí)圖形界面可以讓 Python 通過(guò) comtypes 直接操作同一份控件。這樣既能統(tǒng)一模板邏輯又能把它并進(jìn)現(xiàn)有的自動(dòng)化腳本。# 前提控件已按第 3 章方式注冊(cè) import comtypes.client # 按 ProgID 創(chuàng)建控件實(shí)例多數(shù)版本用 F1Book book comtypes.client.CreateObject(F1Book) # 打開(kāi)一個(gè)已存在的 xls book.OpenFile(C:\\data\\demo.xls, False, False) # 讀取 B2 單元格內(nèi)容 val book.SSGetNumber(2, 2) print(B2 , val) # 給 C5 寫(xiě)文本再保存為新文件 book.SSSetText(5, 3, 已處理) book.SaveFile(C:\\data\\result.xls, 0, False)邏輯說(shuō)明comtypes 會(huì)從注冊(cè)表讀取類(lèi)型庫(kù)并自動(dòng)生成 Python 側(cè)方法接口名和 C 側(cè)一致。CreateObject 按 ProgID 查找如果機(jī)器上有多個(gè) Formula One 版本ProgID 要對(duì)應(yīng)到你注冊(cè)的那一個(gè)。如果報(bào)“沒(méi)有注冊(cè)表信息”回到 regsvr32 檢查。SaveFile 后可以用 pandas 讀一遍結(jié)果確認(rèn)文件沒(méi)被寫(xiě)壞。從那以后我每次接手這類(lèi)控件項(xiàng)目都會(huì)強(qiáng)制自己先走一遍“查看文件組成、確認(rèn)位寬、注冊(cè)、冒煙測(cè)試、檢查關(guān)聯(lián)”這五步再往業(yè)務(wù)代碼里鉆。順序不亂排查成本就低一半。希望這篇筆記幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99激情网| 99在线资源| 97大香蕉五月天| 亚洲国产色色| 99久久精品国产色欲| 欧美久久网| 日本色婷婷| 色婷婷五月综合| 蜜乳A√| 色五月婷婷在线观看第一页舔| 午夜丁香五月天综合| 婷婷丁香www视频日本韩国| 国产精品日日躁夜夜躁| 婷婷色五月天第7色| 国产精产国品一二三在观看| 五月天伊人| 激情五月婷婷综合| 91午夜婷婷狠狠久久综合9色| 五月激情影视| 六月综和久久| 久久99精品久久久久久三级| 欧美激情综合| 九九在线精点品| 久久婷婷热| 少妇AB又爽又紧无码网站| 丁香色综合| 激情婷婷久久| 99精品视频在线观看| 天天舔天天摸视频| 色999五月色| 国产欧美熟妇另类久久久| 五月花婷婷丁香| 玖玖精品婷婷| 九八Av| 色婷婷天堂| 男人天堂伊人五月丁香| 久久久久久久久久久44| 激情性爱婷婷| 美欧成人视频| 97精品人人A片免费看| 色和综合网| 色天使色综合| 九九XX视频| 日本五月婷婷| ji'qing'luan'ren'lun| 超碰91av| 狠狠色狠狠色综合日日91| 精品婷婷| www天天色天天射| 99热国品免费| 懂色av蜜臀av粉嫩av永陈冠希| 九九热这里| 婷婷五月天激情丁香| 五月天堂色| 九七色色六月丁香| 99热这里只有精品9| 久久思思热视频| 久久色天堂| 综合久久十三| 免费黄色片子| 亚洲天堂啪啪| 激情五月狠狠| 五月婷婷综合激情| 久久99婷婷| 亚洲AV无码成人电影| 久热九九| 亚洲av日韩无码| 99惹精品视频| 五月六月丁香婷婷在线观看| 武则天精品久久| 国产精品黑丝| 五月天婷婷基地综合网| www.夜夜| 亚洲第二AV| 97操在线视频| 天天爽夜夜爽夜夜爽精品| 色综合激情图区| 激情五月天色色| 婷婷色基地| 五月婷婷在线视频免费观看| √天堂资源在线人妻熟女| 婷婷五月天久草在线| 狠狠色狠狠操| 99热国产| 婷婷丁香六月五月天| 99热 在线播放| 人妻丰满精品一区二区A片| 激情伊人| 丁香久久久| 五月婷婷开心六月激情小说| 婷婷五月开心中文字幕色| 欧美综合五月丁香六月婷| 人人综合色| 亚洲精品字幕在线观看 | 再綫Av免费視品| 99精品久久久久久久| 亚洲99精品九九在线| 色婷婷五月综合| 激情丁香九九五月综合网| 亚洲国产精品综合色区| 久久人人人人妻| 超碰免费在线| 久综合网| 99精品在线观看| 99热网址| 99超级碰碰| 桃色五月婷婷| 色色综合激情| 久婷婷久草| 99免费综合网| 色婷婷五月天成人网| 99视频| 精品久久久999| 婷婷五月六月激情| 少妇AB又爽又紧无码网站| 9999热在线免费观看| 国产美女最新VA在线免费观看| 9久久久久久久久久久| 日本在线观看99| 亚洲欧美婷婷五月色综合| 在线日韩视频| WWW免费视频碰碰碰碰| 五月天婷婷丁香人人操91| 国产99久| 五月丁香婷婷狠狠操| 强辱丰满人妻HD中文字幕| 久久激情视频| 无码日本精品XXXXXXXXX | 99精品网| 免费看欧美成人A片无码 | 九九性爱网| 激情网 久久| 岛国AV网站| 琪琪秋霞| 欧日韩成人| 搡BBBB搡BBB搡18| 天堂A∨在线| 日本久久高清| 天天日综合| 色优久久| 大香蕉啪啪啪| tingtingcaobi| 久综合4| 爱iii做iiii日| 玖玖婷婷免费| 99热 在线播放| 区啪精品| Av九九| 久草视频一,二三四| 五月丁香激情综合啪啪| 色啪网| 日本久久视频| 91seav| 激情图片婷婷丁香五月| 99久久久免费| 777.色色| 激情五月天www| 拳交大逼| 亚洲第一成人无码A片| 99热这里只有精品4| 精品无吗va视频免费观看| 九九热精品视频| 深爱激情五月天| www.五月天婷婷| 狠狠操综合| 97色色色色色| 爱99干99| 亚洲综合另类| 天天插天天狠| 亚洲色vA| 丁香五月综合激情啪啪| 色色激情五月天| 婷婷成人基地| 成人短视频免费观看| 手机旧版看人妻1025| 国产操B视频| 91天天操天天干天天射| 色婷婷yy久| 亚洲AV无码影院| 亚洲中文字幕av| 99色色网站| 精品成人无码A片观看香草视频| 婷婷十月激情综合网| 久久久99免费视频| 亚洲日韩一页精品发布| 色婷婷丁香AV综合| 99在线精品观看99| 亚洲综合在线丁香五月| 色吧五月婷婷| 亚洲另类在线观看| 92久操视频| 亚洲成人AV在线播放| 99久久99视频只有精品| 激情五月天小说| 精品99这里有| 婷婷激情5月| jiZZdr| 色99网站| 91操女| 久久91久久91色欲精品| 热99精品视频观看| 97色色网| 激情内射人妻1区2区3区| 久久六月综合| 丁香五月婷婷啪| 丁香五月天啪啪激情综和网 | 日本精品。999| 久久五月激情| www.激情五月| 一级性爱大片| 再次出发二| 啪到高潮激情丁香五月| 五月天激情网站| 有码一区二区三区| 天天色天天爽| 热久久这里只有精品| 高清无码网址| 9 99免费视频| 久久机热思思热| 999婷婷综合| 91中文在线| 丁香五月婷婷高清| 亚洲丁香五月天在线视频| 天天舔天天操| 精品亚洲国产成AV人片传媒| 日本啪啪天堂| 99这里只有精品|v| 国产精品18久久久| 超碰在线免费| 五月婷婷六月丁香在线视频| 亚洲精品一区中文字幕乱码| 亚洲另类婷婷综合| 直接看的AV| 久久激情视频| 色婷婷六月天| 色五月婷婷很很操| 伊人久久大香线蕉精品| 青青草性爱视频| 久久性爱视频网站| 日韩专区五月天婷婷丁香| 久久九九99桃花视频| 五月婷六月综合在线观看| 婷婷五月天开心网| 天天狠狠综合精区| 久久婷婷丁香六月天| 日本色色网站| 美女五月天婷婷| 五月天丁香婷婷久久九| 99视频九九热| 婷婷六月插屄激情| 91岛国片| www激情| 亚洲亚洲激情| 亚洲色婷婷久久99精品91| 天天人人人人人人人人人人人| 99乱视频| 九九AV| 久9久视频精品| 五月丁香婷婷啪啪| 蜜桃人妻无码AV天堂三区| ww久久| 久久久婷婷| 丁香婷婷偷拍| 亚洲一区二区无遮挡A片| 99自拍视频在线| av超碰在线| 免费日韩99| 天天色播| 99操久久| 久久作爱| 9热精品| www.五月天激情| 人妻熟人中文字幕一区二区| 熟女激情网| 91久久| www.无码com| 激情性五月天免费小说视频| 日本女色人人| 79成人网| 日本强伦片中文字幕免费看| 丁香婷婷激情五月| 五月婷婷六月色| 91日韩在线| 亚洲欧洲另类| 国精产品一区二区三区| 无码区婷婷五月花开| 狠狠色 综合色区| 女人被男人吃奶到高潮| 久9久9热久热| 无码动漫av| 丁香五月天堂网AV| 综合网五月| 中文字幕91,综合| 午夜色丁香| 亚洲欧洲另类图片| 高清激情av在线观看| 丁香五月欧美| 六月婷婷天天操夜夜爽视频| 欧美日韩一区二区三区四区| 丁香网站| 色婷婷内射| 激情婷婷色色| 九伊人网| 亚洲国产精品VA在线看黑人| 99热综合在线| 婷婷五月天成人小说| 日日噜狠狠色综| 久热伊人9| 亚洲日韩一页精品发布| 香蕉婷婷| 99re熱| 美国不卡视频| 色五月,com| 激情久久久| 五月天开心激情综合网| 一二三区视频韩国| 国产婷婷久久| 99乱视频| 91色涩| 夜夜骑夜夜撸| 精品无吗va视频免费观看| 激情五月综合色婷婷| 99视频久久| 人人操人人添人人摸97| 五月天开心色色网| 婷婷五月天成人基地| 九九艹女| 色五月激情五月开心五月| 久婷婷五月天影院| 中文字幕在线免费观看视频| 99re这里只有精品国产99| 六月激情网| 色五月激情综合| 久久九九99视频| 五月天久久综合婷婷丁香| 丁香婷婷狠狠97| 五月天激情啪啪| 五月天基地| 精品99在线| 欧美婷婷| 91在线操逼视频| 久久婷婷五月天亚洲欧美| 在线成人av播放| 最新久久网址| 精品一区二区三区四区五区六区介绍| 丁香五月之久操视频| 亚洲天堂aaa| 中文久久婷婷| 五月丁香久久网| 激情五月丁香婷婷夜夜操| 熟女人妻一区二区三区免费看 | 亚洲久热| 丁香婷婷婷五月| 九久久精品视频99| 99热最新| 99热在线观看精品| 九色在线观看91av| 大香蕉五月天| 人人干人人操人人摸人人做| 9久久精品视频| 五月天丁香综合| 97操操| 99精品视频在线观看| 99re思思久久| 婷婷她六月天| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 另类天堂| 蜜桃婷婷丁香综合久久开心亚洲| 五月激情六月婷婷| 99热综合| 啪啪激情综合| 涩五月婷婷| 综合色久| 色婷婷五月天天天天天| 久久综合网免费视频| 激情网五夜婷婷| 无码色色色| 天天干天天色天天干| 五月丁香少妇| 成人做爰高潮A片免费视频| 婷婷十月激情综合网| www色五月| 综合天堂AV久久久久久久| 成功精品影院| 深爱五月中文字幕| 99在线视频资源| 日韩在线观看网址| 亚州在线中文字幕| 99视频日韩| 丁香五月婷婷激情中文| 激情图片久久| 在线99热| 久久6这里只有精品| 99在线观看免费精品视频| 五月丁香网站在线播放| 色色丁香激情五月| 五月天六月婷婷电影| 99免费热视频| 亚洲欧美婷婷五月色综合| 激情婷婷久久| 五月天激情图片| 丝袜大香蕉| 中文字幕日产A片在线看| 538在线精品| 欧洲综合一区| www.9797国产| 九九精品在线视频观看| 五月六月丁香激情视频| 国产一级婬片毛片| 欧美丁香婷婷五月天| 天天激情欧美美女| 亚洲成人免费在线| 伊人玖玖网| 五月噜噜噜色综合| 精品人妻在线| 五月丁香精品| 99爱在线| 九九色欲网| 北京熟妇搡BBBB搡BBBB| 殴美综合激情五月天免费视频| 狠狠色丁香99| SS丁香五月婷婷| 99这里只有| 九色91视频| 天天色视频| 免费观看欧美成人AA片爱我多深| 色婷婷狠狠18yy| 亚洲AV第二区国产精品| 久热这里只有精品性色AV| 五月综亚洲| 激情五月婷婷丁香综合网| 婷婷成人AV| 第五色婷婷| 密着浓厚中出乚交尾GvG935| 久七香蕉| 激情美女五月天| 婷婷五月色亚洲| 少妇人妻人伦A片| 天天插综合| 免费观看全黄做爰的视频| 七七色综合| 任你日视频| Av性爱网| 天天狠狠六月婷丁香影院| 国产精品久久久久久白浆色欲| 性无码专区无码| 欧美日韩精品一区二区三区钱| 久久99精品日本| WWW色综合| 久久这里只| 激情丁香婷婷| 色婷婷激情Av久久久| 国产精品人妻在线网址| 天堂爱爱| 另类激情综合| 性做久久久久久久免费看| 狠狠色狠狠色综合日日91| 亚洲色碰| 九九机热| 丁香五月伊人| 啪啪色激情五月天| 免费成人va| 亚艹艹| 色婷婷www| 亚洲亚洲人成综合网络| 91丁香五月| 天天操天天操| av色婷婷| 国产精品男人AV不卡| 伊人网大香| 色婷五月天网站| 超碰二区| AV色色天堂中文| 99ri在线观看视频| 婷婷丁香色无五月| 超碰在线99| 五月天AV大香蕉| 亚洲俩性性爱图片久久第六页| 色播五月| 最近中文字幕2019视频1| 色色五月婷婷久久| 五月丁香六月情亚洲| 丁香婷婷网| 色综合网页| 99综合视频在线| 思思热99热| 极品人妻VIDEOSSS人妻| 国产熟女大叫受不了| 九九视频热| 天天日天天干天天操| 精品一区二区三区四区五区六区| 久久性刺激| 五月婷婷丁香五月婷婷| jiZZdr| 五月天基地| 婷婷六月天精品| 久久婷婷五月丁香网| 99热在线观看这里只有精品| www久久久久久| 人妻久久久| 久er7久热| 99久久婷婷国产综合| 婷婷五月天网| 五月婷婷之美女图片| 六月婷婷狠狠做| 99爽视频| 久久99热这里只有精品| 五月婷婷天堂| 99热免费| 91打屁股免费看| 好叼操在线观看| 丁香五月婷婷久久久| 任你日热视频| 久久综合爱| 第2色五月婷| 五月婷婷伊人网| 国产日日操夜夜操的肉棒视频| 婷婷精品综合| 9有码中文| 丁香五月手机在线| 久久无码成人| 婷婷色五月天色| AV在线免费播放| 六月色日韩| 天天射天天射一道本日本社区 | 婷婷五月丁香基| 天天操夜夜爽歪歪| 91丨九色丨熟女|老版| 991精品在线视频| 久久久精品人妻| 亚洲精品久久久久久久久久吃药| 色五月婷婷丁香凹凸| 91窝窝| 婷婷激情四射五月天| 亚洲无aV在线中文字幕 | 久久久中文| 丁香激情五月| 伊人久久大香| 啪啪婷婷五月天激情| 婷婷激情五月天网站| 草AV9999| 人人干人人看| 天天爽夜夜操| 99热伊人综合| 激情综合五月| 欧美婷婷五月| AAA久久久| 夫妇交换刺激做爰| 天天综合色丁香| 五月天婷婷六月激情网| 日日想日日夜日日操| 天天射色五月天| 免费婷婷| 丁香五月综合狠狠| 日本久久天堂| 五月天激情av| 播播网色播播| 精品导航在线x不卡| 久久五月天激情美女| 五月丁香AV在线| 婷婷久月| 丁香婷婷六月| 天天日日夜夜爽| 直接看的AV网站| 婷婷色五月天在线| 91seAV| 只有精品视频在线观看| 能直接看的av网站| 99热| 超碰色色综合| 99热亚洲精品66| 亚洲色综合| 久热99中文字幕| 狠狠爱婷婷爱| 开心五月婷婷99| 91狠狠综合久久久| www.玖玖婷婷在线| 另类图片五月天婷婷| 色久综合| 九九操屄| 亚洲精品网站色视频| 天天日天天爽夜夜爽| 青青青在线视频国产| 91久久九久久九久久九久久九久久| 九月婷婷综合八月丁香在线观看| 综合色影院| 无码日本精品XXXXXXXXX| www激情网站| 六月激情婷婷色| 天天干狠狠| 九九Av| 五月丁香六月激情综合| 五月丁香婷婷中文网| 九九色热| 日韩av免费版| 婷婷六月丁香激情| 这里只有精品视频| 丁香五月停停av| 狠狠五月激情在线| 另类激情五月| 五月天伊人久久| 色狠狠伊人久久五月丁香| 精品婷婷| 99亚洲精美视频在线观看| 婷婷激情5月| 色吧五月| 思思热天天看| 激情六月婷婷| 9伊人网| 色综合xx| 五月丁香婷婷综合网| 激情六月婷婷| 天天色99| 97国产精品女人碰碰| 99在线视频在线观看| 色五月激情五月开心五月| 久久9精品视频| 99爱这里只有精品免费视频| 丁香色婷婷色手机免费在线| 色五月aV| 色色色成人网| 婷婷的99视频网站| 久久久久久97| 天天综合网~91| 日屌日日操日日色| 午夜AV网| 天天操夜夜肏| 丁香五月欧美婷婷综合| 日日操夜夜爽天天天| 99精品综合| 99操视频| 久久久五月天| 亚洲综合婷婷| 五月婷婷激情网| 日本人妻久久| 5月丁香啪啪啪| 91聚色综合网| 丁香五月天成人| 91无码色色| 丁香五月另类小说在线阅读| 婷婷综合网| aaaaa不卡| 亚洲激情AV| 天堂久久婷婷| 五月丁香无码| 婷婷成人综合| 丁香五月六月婷婷综合| 人人97操| 久热只有精品| 大香AV| 五月天啪啪啪| 婷婷中文字幕网| 这里只有精彩亚洲视频推荐| 狠狠色婷| 少妇激情五月天| yjzz亚洲国产| 欧美色五月天| 亚洲婷婷丁香五月| 丁香五月区| 色婷婷aV四虎| 天天透天天爱| 一起草无码| 国产熟女一区二区三区五月婷| 日本久热| 99热这里只有精品55| 快乐婷婷五月天| 日韩啪啪视频| 91视屏在线观看com.wwwvv| 天堂成人A片永久免费网站| 婷婷成人五月天一区| 日韩AV无码影片| 五月激情综合深爱| 久久婷婷五月综合一| 天天爱天天操| 91黄址| 97热这里只有精品| 日本人妻丁香婷婷久久寝取熟女五月| 老师的粉嫩小又紧水又多A片视频| 婷婷五月天99| 亚洲视频在线网| 亚洲第一综合| 色综合com| 激情五月天婷婷| 5月丁香综合网| 日本www免费九九| 五月丁香黄色| 亚洲激情Av| 亚洲乱码w在线观看| 亚洲啪啪啪啪| 狠狠精品干练久久久无码中文字幕 | 超碰熟女拍拍| 日本在线99| www99热| 精品网站99| 欧美日韩二区在线| 久久性爱视频网站| 婷婷永久在线| 99精品视频在线观看| 婷婷五月天欧美图片在线播放电驴| 久久R激情| 99久在线精品99re8| 九九综合伊人| 8090在线影视少妇| 青青草激情网| 啪啪91| 亚洲乱码日产精品BD| 天天干天天 亚洲| 五月天婷婷激情网| 色婷婷六月| 97韩国久久电影院| 丁香五婷婷| 99热伊人| 婷婷婷婷色| 91精品婷婷国产综合| 伊人久久婷婷| 天天综合.com| 成人.在线日韩| 亚洲va欧美va天堂v国产综合| 铁牛TV人妻| 国产 码在线成人网站| 五月综合六月丁| 婷婷综合色网| 伊人激情AV一区二区三区| 噜噜色婷婷| 日韩色色色色色| 久久看九九90| 99九九精品| 能看的AV网站| 18久久| 免费视频无码| 天天日天天干天天爽| 色婷婷88| 欧美日韩二区在线| 久99视频在线观看| 五月色婷婷影视在线电影| 婷婷丁香先锋资源网站| 亚洲另类在线观看| 婷婷成人五月天| 狠狠色性| 超碰97干| 99视频免费播放 | 国产寻花在线| 九月综合| 国产精品久久久久久亚洲毛片| 五月天婷婷社区| 欧洲亚洲免费视频区| 五月丁香久久色| 欧美激情五月天| 97碰人人操| 色999五月色| 97视频.干com| 亚洲精品**不卡在线播he| 色婷婷基地| 伍月婷婷六月丁香| 久思思热视频在线观看| 亚洲综合成人网站| 国产婷婷色综合AV蜜臀AV | 人人妻人人澡| 欧美日韩AAA| 狠狠色五月激情| 丁香五月电影院在线观看| 麻豆AV一区二区三区| 婷婷中文在线| 色婷婷色人人射| 99热r| 国产精品国产| 三日本无码| 思思热视频| 色久丁香五| 天天日夜夜操五月| 99re热精品视频国| 蜜桃婷婷狠狠久久| 日本丰满久久| 极品人妻VIDEOSSS人妻| 久久久性爱视频| 日本欧美成人片AAAA| 久久深爱激情网| 天天爱天天日| 婷婷九九| 九伊人网| www.韩日视频| 欧美精品在线观看| 99热这里只有精品9| 操逼六区| 久久六月综合| 婷婷综合网站| 亚洲激情丁香五月基地| 性五月激情| 性色婷婷| 黄色高清无码| 99精彩视频| 99亚洲视频| 清色五月天| 金桔一区二区ab地址| 综合激情五月婷婷| 狠狠久综合| 婷婷丁香大香蕉| 成人做爰A片免费看网站找不到了| 激情五月天影院| 亚洲无码yw| 日本五月天婷婷丁香| 丁香欧美| 天天插夜夜爽| www.激情.com.| 婷婷五月综合社区| www.99热这里精品| 人妻六月天| 99精日本久久| 婷婷五月天免费99| 欧美69久成人做爰视频| 国产精品国产成人国产三级| 色色国产| 五月天成人小说| 综合色99| 久9久9久9久9久9久9| 成人免费在线电影| 亚洲人人操| www.五月瑟| 美女丁香五月天| 日韩精品一品二区三区的使用体验| www.91AV.com| 亚洲av成人一区二区电影在线| 五月婷婷影视| 婷婷视频在线| 苗黎美女四级成人版一级二级毛片| 色五月天电影| 这里只有精品视频免费在线观看| 玖玖色综合| 婷婷久久久| 九九人人精品| 亚洲在线综合| 亚洲国产成人在线| 狠狠色成人影片| 97色色视频| 色色色网站| 女人天堂AV| WWW.17C亚洲精品| 天天综合中文| 狠狠第四色| 亚洲综合色色| 69精品人人人人| 五月天社区| 婷婷综合久久| 人妻性爱| 婷婷六月插屄激情| 婷婷激情五月综合丁香社| 丁香六月AV| 五月婷婷综合色啪| 丁香五月激情六月综合| 五月丁香六月婷婷婷婷| 99成人精品视频| 九九机热| 亚洲综合激情五月久久| 玖玖婷婷色五月| 99无码超碰| 色欲午夜无码久久久久久张津瑜| 超碰在线免费9| 欧美久久婷婷| 夜夜谢天天干| 日产精品久久久久久久蜜臀| 精品成人在线| 91丨九色丨国产打屁股网站| aV欲望人妻中文字幕| 182TV大香蕉| 国产精品久久久久久白浆色欲| 色婷婷五月天激情| 97涩涩丁香五月天| 丁香五月婷婷俺也要去| 五月花在线观看视频| 天天肏高清在线| 天天干天天爽天天操| 婷婷狠狠操| 99精品久久久久久久婷婷| 色99在线| 色情综合网| 丁香婷婷欧美综合| 午夜免费高清AV片| 黄色五月婷婷| 天天摸,天天爽| 亚洲五月天婷婷综合| 99热a片免| 九九五月天| 亚洲婷婷五月天| 665566 无码| 婷婷色在线视频| 五月丁香| 99爱免费视频在线观看| 丁香五月综合亚洲| EEUSS鲁片一区二区三区| WWW.桔色成人.COM| 五月婷在线| 国产精品涩涩涩视频网站| 天天久久婷婷| 丁香婷婷五月天激情四射| 99热福利| 五月激情啪啪| 99成人无码| 操日视频| 久久久久久人妻| 久久小说网| 婷婷五月天AV在| 五月丁香A片| 丁香五月亚洲婷婷| 五月天婷婷永久免费视频| 九九热精品视频在线观看| 久久久久久人妻| 一本色道久久综合狠狠躁一二三| 久久停停超碰| 一区二区三区视频| 搡BBBB搡BBB搡18| 91919191919久久成人视频| 91视频久久久| 色婷婷五月天亚洲| 久久这里99| 操逼巨乳91| 国产这里只有精品| 日日噜噜久久婷婷五月天| 光棍影院日韩精品| 色综久久久| 五月婷婷真爱激情网| 婷婷丁香十月| 九九综合九色欧美狠狠| 五月丁香激情四射综合| 大狠狠在线| 丁香五月色五月| 日本少妇裸体做爰高潮片| 久久亚洲无码| 五月天色五月天| www,com,五月色色| 国外亚洲成AV人片在线观看| 五月天狠狠色| 色狠狠伊人久久五月丁香| 五月激情影院| av亚洲国产小电影| 成人无码精品1区2区3区免费看| 丁香五月婷婷99| 婷婷丁香高潮了| 97干视频在线| 玖玖色综合色| 五月丁香婷婷啪啪| 婷婷五月天激情诱惑| 久久久久久久久久8888| 欧美日韩五月婷婷| 日韩婷婷五月天| 午夜激情综合| 伊人大香蕉爱聚| 婷婷五月激情四月综合 | 丁香五月另类色婷婷麻豆| 婷婷免费精品视频| 婷婷网五月天| 婷婷丁香在线| 伊人玖玖精品| 日日操,夜夜撸| 99色色网| 激情五月综合久久| 日日操人人操| 亚洲五月婷婷| 色婷婷国产精品综合在线观看| 99在线免费视| 97人人操| 日美三级| 99热日本| 欧美在线视频99| 色吧网综合| www.99热国产| 九九99免费理论| 熟女人妻视频| 精品99这里有| 色色激情五月| 色五月色五天色情网址| 丁香婷婷免费| 99久久久久久| 色五月色五天色情网址| 婷婷六月激情啪啪| 538在线精品| 国产性爱一级| 激情五婷网| 深爱五月婷婷| 99热亚洲精品| 婷婷天天日婷婷| AV中文在线| 精品99在线| 六月丁香五月激情婷婷| 五月天桃色深爱网| 99久久五月丁香野外| 五月丁香色五月| www.五月丁香| 久9久9久9久9久9久9| 天天操夜夜玩!| 91艹人| 日本天堂免费99| 五月激情四射网站| 丁香婷婷精品视频| 蜜桃人妻无码AV天堂三区| 大陆极品少妇内射AAAAAA| 亚洲婷婷91丁香| 丁香婷婷五色月| 5月丁香啪啪啪| 91疯狂操操操操| 国语精品探花| 精品人妻在线免费观看| 天天草婷婷五月| 91精品久久久久久77777| 99免费青青蜜臀| www激情com| 日本久久激情| 26uuu欧美亚洲日韩| 亚洲五月婷| 亚洲综合激情五月久久| 亚洲视频二区| 婷婷六月综合基地| 五月天婷婷成人| 久久免费干| 97干婷婷五月天| 这里只有精品视频99| 丁香五月婷婷亚洲激情四射| 色色网五月激情| 99色在线| 国产精品久久99| 亚洲热视频| 97成人丁香婷婷| 狠狠干夜夜干| 69热在线| 天天操夜夜操| 99热99网| 操人91| 大香蕉啪啪啪| 久久性爱视频网站| 亚洲色五月婷婷| 99视频| 97涩婷婷婷婷基地| 人人爱人人摸人人澡| 丁香婷婷综合色五月激情国产基地| 丁香美女主播视频在线观看| 狠狠狠狠草草| 五月婷婷激情视频| 97伊人综合婷婷| 婷婷五月天视频免费在线观看| www,超碰| 久久久ww| 五月丁香A片| 91午夜激情| 青996青| 日本三级中文字幕| www.婷婷五月天| 激情99| 97人妻碰碰中文无码久热丝袜| 青青草tp| 久久久A级视频| 激情丁香九九五月综合网| 成人在线网站| 另类激情五月| 五月丁香啪啪| 97人人看| 五月色丁香| 久久激情视频| 大香蕉伊人久久| 五月综合久久| 99热只有国产在线精品| 91a片爽| 五月亭亭网成人在线视频| 亚洲小电影在线观看黄999| 91精品久久久久| 丁香六月婷婷开心| 99国产精品白浆在线观看免费| 五月激情开心婷婷| 亚洲电影在线观看| 狠狠狠夜夜夜| 婷婷少妇激情| 九九这里有精品| 五月激情婷婷六月丁香| 99在线视频。| 激情第四色| 91人妻色色网| 少妇性按摩无码中文A片| 婷婷五月色網站| 丁香情色五月| 夜夜骑天天操| 五月丁香免费视频| 99热这里只有精品22| 国产精品24r| 婷婷五月激情六月| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 九九九九九九热| 色婷五月天激情| 综合久久久| 色爱综合网| 夜夜撸天天日| 99精品国产在热久久婷婷| 色五月婷婷老师| 一起草AV| 五月丁久久| 99精品综合| 激情综合亚洲| 日本三级成人秘书精品片| 激情五月小说婷婷| 丁香五月天激情| 桃色成人网| 色婷婷社区| 日本啪啪天堂| 精品亚洲国产成AV人片传媒| 色色色色色色网| 成人日韩欧美| 9九九久久精品无码专区| 婷婷色色丁香五月天| 婷婷丁五月| AAA久久| 91久久久久久| 五月丁香色停停啪啪啪| 久久婷婷久久| 狠狠色激情在线| 婷婷综合九月| 久久久中文| 国产精品久久久久久五月天加勒比| 色色婷婷丁香五月天| 色综合五月天| 99热免| 五月亭亭欧美女人| 丁香五月激情网| 日本怕怕视频| 六月五月天婷婷涩播在线| 久久五月激情| 色婷婷五月在线| 亚洲色无码A片一区二区麻豆| 五月 婷婷 成人| AV动漫不卡无码免费| 少妇性按摩无码中文A片| 婷婷丁香五月综合网上 | 97人人看一| 久草热久草在线视频| 99色在线视频| 人人爽天天莫| 久9热插入| 亭亭玉月丁香| 五月婷精品| 激情四射五月天偷偷看婷婷| 91人人爽人人操| 超碰91在线| 99免费视频网| 人人色人人摸人人看| 黄色短视频在线观看| 色五月婷婷老师| 国产精品A片| 超碰av在线| 欧美六月婷婷| 亚洲色色色| 色情五月天丁香社区| 五月开心激情网| 五月婷婷深深的爱| 色99免费视频中文| 久久在线视频免费观看| 综合99综合久久久久久久| 五月天激情.com| 深爱婷婷基地| 欧美色偷拍| 国产婷伊人| 婷婷综合网| 激情五月综合婷婷| 色青青视频| 99,色| 五月丁香日逼| 极品少妇XXXX精品少妇偷拍| 国产成人av在线播放| 五月花综合视频| 韩国情人在线电视剧免费观看高清版全集| 六月婷婷毛片| 五月天狠狠| 五月天社区| 六月狠狠综合| 色综久久久| 91久久| 亚洲无码激情| 亚洲色另类| 亚洲综合激情五月| 立川无码av| 色综合久久88| 99色亚洲| 国产精品色婷婷久久久精品| 天天操天天日天天操| 九九九九九无码| 日韩婷婷| 秋霞AV美国| 国产精品24r| 欧美电影在线播放| 九九色色| 青青草原伊人网| 久久性爱视频| 婷婷欧美综合| 精品久久艹| 婷香五月网在线| 久热久re| 亚洲国产精品SUV| 五月叮香啪| 亚洲黄色精品| 看片视频在线免费日产在线看| 噜噜噜精品欧美成人在线观看| 99在线爽| 91碰碰| 97色永久免费视频| 九九超日本| 婷色综合| 五月激情综合网婷婷| A片试看120分钟做受视频红杏 | 99热97| 国产精品热搜丁香五月婷婷| 色操b| 人妻操操色| 五月丁香色色综合| 另类小说五月天| 91黄址| 99cao婷婷| 一二线视频 另类| 51精品国自产在线| 欧洲第一无人区观看| www.99在线| 日本三级中国三级99人妇网站| 五月婷婷之综合激情| 亚洲六月色婷婷| 99人妻碰碰碰久久久久视| 99久热| 久久天天| 成人在线99| 五月丁香777| 噜噜色婷婷| 国产成人va在线| 婷婷四色五月| 亚洲色五月天在线| 九九免费精品在线视频| 综合激情开心五月| 台湾综合丁香五月蜜桃| 99在线精品视频观看免费下载| 97久久精品| 高清视频一区| 91精品婷婷国产综合久久| 中文AV在线播放| 久月婷婷| 99精品久久久久久久婷婷| 99色婷婷视频| www.婷婷五月| 蜜桃婷婷狠狠久久| 黄色激情久久| 久久宗合影| 综合性爱网| www.五月天色色.com| 大香蕉久久婷婷精品综合| 26uuu丁香婷婷五月| 综合99综合久久久久久久| 99日本黄站| 国产免费一区二区三区三州老师F1F1.CC| 99在线视频免费| 99日本在线| 综合亚洲六月婷婷在线| 婷婷六月丁香在线| 婷婷六月综合在线| 丁香色播五月天| 婷婷五月丁香久久| 亚洲第一精品成人999久久精品| 五月的色婷婷高潮| 色婷婷五月天天天干天天操天天爽| 天天插天天插天天插| 欧美激情五月| 婷婷五月天在线一区| 天天做好综合色| 色五月婷婷综合在线| 色五月综合网| 五月综合色|