top
Loading...
VisualBasic的常見問題及解答
問 : Visual Basic 有哪些版本?它們有什么區別?

答 : Visual Basic 有三種版本,各自滿足不同的開發需要。

1. Visual Basic 學習版使編程人員輕松開發 Windows 95 和 Windows NT(R) 的應用程序。該版本包括所有的內部控件連同 Grid、Tab 和 Data_Bound 控件。學習版提供的文檔有《程序員指南》、聯機幫助及 Visual Basic《聯機手冊》。

2. 專業版為專業編程人員提供了一整套進行開發的功能完備的工具。該版本包括學習版的全部功能連同 ActiveX 控件,還包括 Internet 控件和 CrystalReport Writer。專業版提供的文檔有《程序員指南》、聯機幫助、《部件工具指南》。

3. 企業版使得專業編程人員能夠開發功能強大的組內分布式應用程序。該版本包括專業版的全部功能連同自動化管理器、部件管理器、數據庫管理工具、Microsoft Visual SourceSafe(TM) 面向工程版的控制系統等等。企業版提供的文檔包括專業版的所有文檔,還有《客戶/服務器應用程序開發指南》和 SourceSafe User's Guide。

問 : 安裝 Visual basic 需要哪些硬件和軟件?

答 : 分別需要:

1. Microsoft Windows NT 3.51 或更新的版本,或 Microsoft Windows 95; 80486 或更高的微處理器。

2. 如果是全安裝,則至少需要 50 MB 的硬盤空間。

3. 一個 CD-ROM 驅動器。

4. Microsoft Windows 支持的 VGA 或更高分辨率的屏幕。

5. 16MB RAM。

6. 鼠標或其它定點設備。

問 : 如何得到關于 Crystal Reports 的技術支持?

答 : 如果您在安裝Crystal Reports 時發生問題, 請與微軟公司聯系。如果您需要得到其他方面的技術支持, 請直接和 Seagate 公司聯系。Seagate公司的網頁是 http://www.crystalinc.com 或 http://www.img.seagatesoftware.com。Seagate公司的技術支持電話是: 01-604-669-8379 或 01-800-877-2340。

問 : 在 Visual Basic 中可以和哪些數據庫通訊?

答 : 在 Visual Basic 中可以和三類數據庫通訊, 它們分別是:

1. Visual Basic 數據庫 - 也被稱為本地數據庫,這類數據庫文件使用與 Microsoft Access 相同的格式。Jet 引擎直接創建和操作這些數據庫并且提供了最大程度的靈活性和速度。

2. 外部數據庫 - 它們是使用幾種流行格式的"索引順序訪問方法 (ISAM)"數據庫,這些流行格式包括 Btrieve、dBASE III、dBASE IV、Microsoft FoxPro versions 2.0 和 2.5 以及 Paradox versions 3.x 和 4.0。在 Visual Basic 中能夠創建和操作所有以上格式的數據庫。也可以訪問文本文件數據庫和 Microsoft Excel 或 Lotus 1-2-3 電子表格。

3. ODBC 數據庫 - 包括符合 ODBC 標準的客戶/服務器數據庫,如 Microsoft SQL Server。要在 Visual Basic 中創建真正的客戶/服務器應用程序,可以使用 ODBCDirect 直接把命令傳遞給服務器處理。

問 : 在Visual Basic中,如何與串行口通訊?

答 : Visual Basic 提供了一個 MSCOMM控件, 它負責從串行口接受和發送數據。您可以在Visual Basic開發環境下選擇"工程",在工程菜單下選擇"部件", 從部件中選擇"Microsoft Comm Control", 將 MSCOMM控件加入到您的工具箱中。然后通過設置MSCOMM控件的屬性來修改串行口通訊參數如通訊口、波特率等。

問 : 如何在 VB 中調用 Win32 函數?

答 : 在 Visual Basic 的 WINAPI 子目錄下, 您可以找到 WIN32API.TXT,它包含 Win32所有的函數說明、類型說明和全局常量值。您可以使用Visual Basic 的外掛程序 VB API Viewer來選擇您所需的 Win32 函數,然后通過簡單的復制、粘貼技術將該函數的說明放入的Visual Basic 工程中,這樣您就可以象調用Visual Basic一般函數那樣調用它了。

問 : Visual Basic 5.0 不能正常啟動了,怎么辦?

答 : 這可能是兩方面原因造成的:

1. 外掛程序出錯。您可以用記事本打開系統目錄下的 VBAddin.ini 文件,將每一項的值都改為0,即不啟動外掛程序。

2. 保存的有關Office 命令欄的數據出錯。在這種情況下您可以從注冊表刪除"HKEY_CURRENT_USERSOFTWAREMICROSOFTVisual Basic5.0" 這一項。修改了以上內容后,您只需重新啟動 Visual Basic即可。

問 : 在Visual Basic 中, 某些控件被破壞了怎么辦?

答 : 您可以從 VB 安裝盤中找到響應文件,將它拷貝到系統目錄下。然后用 regsvr32 手工注冊那些控件。方法為 : regsvr32 xxxx.ocx

問 : 在多用戶環境下,Microsoft Jet 如何防止其他用戶修改您的數據?

答 : Microsoft Jet 提供了三種不同級別上鎖定數據的方法。它可以防止多個用戶同時修改數據。

1. 獨占模式 阻止其他所有用戶訪問數據庫, 這是限制最大的模式。

2. 記錄集鎖定 鎖定 Recordset 對象的基本表,用讀表鎖定、寫表鎖定或兩者都用。

3. 頁面鎖定 鎖定包含正在編輯的數據的頁面,其長度為 2048 個字節 (2K)。這是限制最小的模式

問 : 保守式鎖定與開放式鎖定有什么區別?

答 : 使用保守式鎖定時,一旦調用 Edit 方法,引擎就會鎖定包含當前編輯記錄的頁面,直到顯式地提交或取消這個記錄的變更后,它才釋放這個鎖定。但它的缺點鎖定記錄的時間很長,而且不僅鎖定了用戶正在編輯的記錄,而且還會鎖定駐留在該鎖定頁面內的其它記錄。

使用開放式鎖定時,引擎僅在試圖用 Update 方法提交記錄變更時鎖定頁面。因為鎖定僅在應用程序試圖提交變更時發生,所以能使鎖定的時間最短。但開放式鎖定的缺點是:當用戶開始編輯記錄時,不能確定更新是否會成功。如果另一個用戶改變了第一個用戶正在編輯的記錄,那么依賴于開放式鎖定的更新將會失敗。

問 : 在VB5中,將一個應用程序編譯成"Native Code", 在發布該應用程序時,還需要MSVBVM50.DLL 嗎?

答 : 需要。所有用VB5生成的應用程序都需要MSVBVM50.DLL,不管是"Native Code" 還是"P-Code"。因為需要MSVBVM50.DLL 實現Form、類模塊、語言等許多功能。"Native Code"是指不需要運行時解釋,直接就能在CPU上運行的代碼,但并不意味著靜態連接, VB5生成的應用程序需要到動態連接庫(DLL)中調用庫函數。

問 : VB 中如何訪問 Visual FoxPro 數據庫?

答 : 建議在VfoxPro數據庫表中設置 Primary Key, 通過最新版本的 VfoxPro ODBC 驅動程序存取Visual FoxPro 數據庫,這樣可獲得較好的性能,以及避免 Update 時產生問題。

問 : VB5 的PictureBox 和 Image 控件支持哪幾種圖形文件格式?

答 : PictureBox 和Image控件用來顯示圖形。它可顯示下面幾種格式的圖形:位圖、圖標、圖元文件、增強型圖元文件、JPEG 或 GIF 文件。新支持的JPEG 或 GIF 文件對 Web 頁很有用。

問 : VB 中提供了哪些方法用于訪問注冊表(Registry)?

答 :GetSetting 函數, 從 Windows 注冊表中的應用程序項目返回注冊表項設置值。SaveSetting 語句, 在 Windows 注冊表中保存或建立應用程序項目。

DeleteSetting 語句, 在 Windows 注冊表中,從應用程序項目里刪除區域或注冊表項設置。

GetAllSettings 函數, 從 Windows 注冊表中返回應用程序項目的所有注冊表項設置及其相應值(開始是由 SaveSetting 產生)。

問: 在VB5應用程序中,如何把某個事件記入日志?

答: LogEvent 方法,在應用程序的日志目標中,把某個事件記入日志。在 Windows NT 平臺上,該方法會把內容寫到 NT 的 Event 日志中。在 Windows 95 平臺上,該方法會把內容寫到 LogPath 屬性指定的文件中。按照缺省規定,如果不指定文件,事件被寫入 vbevents 文件。

問: 如何檢測文件是否存在?如何刪除文件?

答: 用 Dir 函數可檢測文件是否存在。如果已沒有合乎條件的文件,則 Dir 會返回一個零長度字符串 ("")。用Kill 語句可刪除文件。

問: 如何優化VB 應用程序的顯示速度?

答:由于 Microsoft Windows 的圖形特性,圖形和其它操作的顯示速度在很大程度上決定了應用程序的感覺速度。窗體出現及畫圖的速度越快,應用程序就會顯得越快。以下的幾種技術可用來提高應用程序的顯示速度:

將容器的 ClipControls 屬性設置為 False。

恰當地使用 AutoRedraw。

使用 Image 控件替代 PictureBox 控件。

設置屬性時隱藏控件以避免多次重畫。

使用 Line 替代 PSet。

通常,應用程序的感覺速度和代碼的實際執行速度并無多大關系。對用戶來說,啟動快、繪畫快并提供不間斷的反饋信息的應用程序顯得速度快;而在完成任務時似乎"懸掛"起來的應用程序則顯得速度慢。許多技術都可以使應用程序顯得速度快:

隱藏窗體而不加載。

預加載數據。

在后臺使用定時器工作。

使用進度指示器。

加快應用程序的啟動速度。

問:VB5 在支持 Internet / Intranet 開發方面有哪些新內容?

答:創建 ActiveX 文檔

專業版和企業版 就象設計 Visual Basic 窗體那樣既簡單又直觀。ActiveX 文檔將 Visual Basic 應用程序推進到 Internet 瀏覽器窗口中。

創建自己的 ActiveX 控件

專業版和企業版 組合現有的控件,或由其它控件創建自己的控件。用 Visual Basic 創建的 ActiveX 控件有幾項 Internet 特征,包括數據的異步下載和超鏈接。

多線程的 DLL

專業版和企業版 標記為無用戶界面執行(即沒有用戶交互)的 DLL 部件可以有效地用于象 Internet 瀏覽器那樣的多線程應用程序中。

Internet 傳輸控件

專業版和企業版 提供 HTTP 和 FTP 支持的新控件。

WinSock 控件

專業版和企業版 允許連接到遠程計算機上,并與使用用戶數據記錄協議 (UDP) 或傳輸控制協議 (TCP) 的其它計算機進行數據交換。

超鏈接定位

專業版和企業版 Hyperlink 對象可以控制對 ActiveX 超連接功能的訪問。使用 Hyperlink 對象的屬性和方法,控件可以請求識別超鏈接的容器,如:Microsoft Internet Explorer,跳轉到給定的 URL 或通過歷史列表定位。

異步下載

專業版和企業版 通過用 Visual Basic 創建的 ActiveX 控件和 ActiveX 文檔,異步下載文件、字節數組或圖像。

ActiveX 文檔中的菜單協商

專業版和企業版 當顯示文檔時,加入到 ActiveX 文檔中的菜單可以與 Internet Explorer(或其它支持菜單協商的瀏覽器)的菜單天衣無縫地合并在一起。

ActiveX 控件接口向導

專業版和企業版 一旦加入構成的控件到 UserControl 設計器中以后,向導可以幫助將新的 ActiveX 控件(即它的接口)的屬性、方法和事件映射成構成的控件和 UserControl 對象所提供的功能。

Internet 部件下載

專業版和企業版 可以使用"安裝向導"特別為 Web 上部署的部件打包。 JPEG 和 GIF 支持所有版本 PictureBox 和 Image 控件,以及 Picture 對象,現在都支持 .gif 和 .jpg 文件,這對 Web 頁很有用。

從開發環境中訪問 Web

所有版本直接跳轉到關于 Visual Basic 和其它開發產品的最新信息上。

問:如何把傳統的 VB 應用程序引入到瀏覽器中執行?

答:ActiveX 文檔移植向導是為了把已有窗體改變成 ActiveX 文檔而設計的。ActiveX 文檔是一種特定類型的 ActiveX 對象,這類對象在 ActiveX 文檔容器(如 Microsoft Internet Explorer)里面能被存放及激活。
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗