




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、新手指南最后更新:2013.05.18Copyright2011,2012,2013 AnywhereSoftwareEdition 2.5第四章 開發(fā)環(huán)境本章節(jié)由 B4A 開發(fā)群(群號(hào) 227825693 )網(wǎng)友刺漁()友情翻譯IDE 基礎(chǔ)開發(fā)環(huán)境英文 Theegrated Development Environmen當(dāng)您運(yùn)行 IDE,你會(huì)看到界面 ,如下圖例如:Example: SecondProgram.b4a你可以看到四個(gè)主區(qū)域:Code area Module listSubroutine list代碼編輯區(qū)域包含所有模塊的名稱列表在當(dāng)前模塊的子程序列表點(diǎn)擊其中一個(gè)名字,直接跳到程序
2、內(nèi)容Tabs功能選項(xiàng)頁4.1 菜單和工具條4.1.1 工具條生成一個(gè)新的空項(xiàng)目加載一個(gè)工程保存當(dāng)前工程將選中的文本到剪貼板剪切選中的文本到剪貼板在光標(biāo)處粘貼剪貼板中的文本撤消上一個(gè)操作重做以前的操作激活“查找和替換功能所選的代碼,具體見 4.2.6取消所選代碼的向后導(dǎo)航向前導(dǎo)航增加一個(gè)書簽,具體見 4.2.7取消一個(gè)書簽回到以前的書簽前進(jìn)到下一個(gè)書簽自動(dòng)補(bǔ)齊功能 Ctrl + space 具體見 4.2.9左縮進(jìn)具體見 4.2.8右縮進(jìn)運(yùn)行編譯器編譯器選項(xiàng)列表,當(dāng)前是 debug 調(diào)試狀態(tài)顯示的當(dāng)前操作的函數(shù)4.1.2 File 菜單New 創(chuàng)建一個(gè)新工程 Open Source加載工程Sav
3、e保存當(dāng)前工程Export As Zip把工程保存成 zip 文件Page Setup頁面設(shè)置打印PrPreview打印預(yù)覽Pr Exit打印關(guān)閉B4A 最后加載的程序列表4.1.3 Edit 菜單CutCut Line Copy剪切選中的文本到剪貼板剪切當(dāng)前行將選中的文本到剪貼板在光標(biāo)處粘貼剪貼板中的文本撤消上一個(gè)操作重做以前的操作激活“查找和替換功能Undo Redo FindBlock Comment所選的代碼,具體見取消所選代碼的4.2.6BlockmentRemove All Bookmarks 去掉全部書簽RemoveAll Breakpos去掉全部斷點(diǎn)Outlining代碼段展開
4、閉合控制4.1.4Project 菜單增加新的 module增加外部 module更改 module 名稱刪除當(dāng)前的 module隱藏當(dāng)前的 module給程序選擇一個(gè)圖標(biāo)更改包的名稱運(yùn)行 Manifest 編輯器 不要覆蓋 Manifest 文件測試編譯,因?yàn)?b4a V 2.70 的新功能4.1.4.1 增加一個(gè)新的module窗體 模塊類 模塊 代碼模塊服務(wù)模塊4.1.5工具菜單下面是 IDE 的選項(xiàng)文件夾下無效的文件工程運(yùn)行 AVD 管理器配置路徑更改 Tab 鍵縮進(jìn)的長短更改字體,但是不自動(dòng)換行自動(dòng)保存顯示提示保存時(shí)嘗試自動(dòng)編譯4.1.5.1自動(dòng)換行沒有自動(dòng)換行的時(shí)候,這一行的后半部
5、分是被遮擋的。有自動(dòng)換行,就會(huì)自動(dòng)到下一行。4.1.5.2 自動(dòng)保存當(dāng)你運(yùn)行工程時(shí)自動(dòng)保存該工程。4.1.5.3 編碼時(shí)顯示提示框檢測顯示出提示框未檢測顯示出提示框4.1.5.4保存時(shí)嘗試自動(dòng)編譯執(zhí)行編譯測試自動(dòng)保存程序,詳情看4.1.5.5 截圖4.3.3.1測試運(yùn)行/警告這個(gè)功能可以在以下情況被使用:IDE 處于編輯模式,在工具菜單下使用IDE 處于調(diào)試模式,在調(diào)試菜單下使用點(diǎn)擊示這個(gè)窗體將顯點(diǎn)擊將顯示虛擬機(jī)或者真機(jī)屏幕的縮略圖。你可以通過點(diǎn)擊來保存一個(gè) PNG 文件你可以改變的角度。4.1.5.6文件夾下無效的文件刪除無效文件(不會(huì)刪除任何程序布局的許取消操作)文件),顯示一個(gè)無效文件列
6、表(允4.1.5.7工程刪除所有生成編譯期間生成的文件。4.2 代碼區(qū)域選擇的模板的代碼顯示的區(qū)域,此區(qū)域可以編輯。以下的例子是 SecondProgram 的代碼。4.2.1 代碼頂部是工程和窗體屬性Basic4Android2.5 版本以后再代碼最上方增加了常規(guī)設(shè)置。這些設(shè)置在以前的版本中 basic4android 項(xiàng)目菜單中。4.2.1.1 工程屬性只顯示在整個(gè)工程的 Maodule.中,整個(gè)工程有效。#Region Projectributes#ApplicationLabel: B4A Example#Ver#VerCode: 1Name:SupportedOrienportrai
7、t. #SupportedOrienionssible values: unspecified,landscorions: unspecified#CanInstallToExternalStorage: False#End Region4.2.1.2 窗體屬性當(dāng)前窗體有效。#Region Activity Attributes #FullScreen: False #IncludeTitle: True#End Region當(dāng)你 b4a 頭以前的版本加載已經(jīng)保存的項(xiàng)目時(shí),代碼頭部將看起來像這樣:#Region Module Attributes#FullScreen: False #Incl
8、udeTitle: True#ApplicationLabel: MyProgram#Ver#VerCode: 1Name:#SupportedOrienions: unspecified#CanInstallToExternalStorage: False #End Region當(dāng)你新增一個(gè)新的窗體,你會(huì)發(fā)現(xiàn)窗體屬性出現(xiàn)在代碼區(qū)域頂部。#Region Activity Attributes #FullScreen: False #IncludeTitle: True#End Region當(dāng)你新增一個(gè)新的服務(wù),你會(huì)發(fā)現(xiàn)服務(wù)屬性出現(xiàn)在代碼區(qū)域頂部。#Region Service Attribut
9、es#StarBoot: False#End Region當(dāng)你想增加屬性,你只需要輸入#,將會(huì)顯示全部的屬性。4.2.2 取消和重做開發(fā)工具運(yùn)行取消或者重做當(dāng)前操作。取消點(diǎn)擊,重做點(diǎn)擊4.2.3 折疊代碼塊開發(fā)工具里的代碼塊可以被折疊成一行。下面的 btnAction_Click 是展開狀態(tài)。點(diǎn)擊左側(cè)小正方形可以折疊代碼塊。下面的 btnAction_Click 是折疊狀態(tài)光標(biāo)停留在折疊的代碼塊時(shí)會(huì)顯示其內(nèi)容。4.2.4 折疊區(qū)域在代碼區(qū)你可以定義并折疊他們。實(shí)例:#Region 開始設(shè)置一個(gè)區(qū)域GPS #End Region 結(jié)束位置你可以增加兩個(gè)代碼塊在其中。點(diǎn)擊折疊折疊后光標(biāo)停留在 GP
10、S 上,顯示代碼的開始部分,不會(huì)顯示全部的代碼4.2.5 折疊全部的代碼在編輯菜單下有三個(gè)功能:-Toggle All展開折疊的代碼,折疊展開的代碼。- Expands All展開真?zhèn)€工程內(nèi)的代碼-Collapse All折疊整個(gè)工程內(nèi)的代碼整代碼區(qū)域被折疊的狀態(tài)。鼠標(biāo)停留上面將展現(xiàn)部分開始的代碼。4.2.6和取消講選中的代碼區(qū)域或者恢復(fù)正常。原代碼選中代碼 , 點(diǎn)擊被了。如果要恢復(fù)正常,選中代碼,點(diǎn)擊4.2.7你可以在代碼的任何地方設(shè)置,中向前或者向后跳轉(zhuǎn)。在光標(biāo)新增, 點(diǎn)擊將會(huì)出現(xiàn)在左邊區(qū)域,去掉標(biāo)簽,點(diǎn)擊點(diǎn)擊跳轉(zhuǎn)到下一個(gè)。點(diǎn)擊條狀到上一個(gè)。在菜單中,你可以移除全部的4.2.8縮進(jìn)代碼縮進(jìn)
11、是一個(gè)好的。例如,程序塊,循環(huán),結(jié)構(gòu)等。此代碼是難以閱讀,因?yàn)榈拇a結(jié)構(gòu)不明顯此代碼更容易閱讀,代碼的結(jié)構(gòu)是明顯的2 次縮進(jìn)是很有效果的。例如縮進(jìn) 4就我個(gè)人而言,我更喜歡一個(gè)值 2。整片選中的代碼可以向前或者向后整體縮進(jìn)原代碼選中代碼,點(diǎn)擊整片代碼整體右移了整體可以點(diǎn)擊縮進(jìn)值可以在 Tools 菜單更改輸入值,點(diǎn)擊4.2.9 代碼自動(dòng)補(bǔ)全代碼自動(dòng)補(bǔ)全是一個(gè)非常有用的功能實(shí)例:輸入 lblN按下 Ctrl + Space 或者點(diǎn)擊所有的變量、視圖和屬性的名稱將會(huì)顯示在彈出框中,選中會(huì)出現(xiàn)聯(lián)機(jī)提示。選中 lblNumber1 點(diǎn)擊返回。選擇 lblnumber2 按下箭頭并按回車。選中的名稱已經(jīng)
12、補(bǔ)全了輸入“.”在提示框中會(huì)顯示全部的屬性和方法。當(dāng)選擇一個(gè)項(xiàng)目,其顯示內(nèi)部的幫助按壓向上/向下箭頭選擇上一個(gè)或下一個(gè)項(xiàng)目的幫助每次輸入提示都會(huì)隨之改變最好的學(xué)習(xí)方式就是練自動(dòng)補(bǔ)全功能運(yùn)行創(chuàng)建子程序遍。輸入 Sub 然后 空格。輸入 Tab選擇類型,下面以 Button 為例.在的例子中點(diǎn)擊選擇類型自動(dòng)生成子程序框架。在的實(shí)例中修改 Button 按鈕的“EventName”4.2.10 內(nèi)置文件basic4android V2.00 以后新內(nèi)置文檔功能是可用的。以下代碼塊的解釋,如:將自動(dòng)出現(xiàn)在彈出窗口:如果你想添加的代碼示例可以使用代碼:Parsesa raw ThentsDirmessa
13、ge and returns a Message objectraw textAtta-Attaentswillbesavedhis folder Example: Dim m As mParsMessage=arseMail(Content-Type:text/plain; charset= & QUOTE & utf-8"E,File.DirRootExter nal)Log(m)代碼將語法:4.2.11 跳轉(zhuǎn)到子程序有時(shí)從子程序的調(diào)用跳轉(zhuǎn)到子程序的定義是很有用的。你可以很容易做到這點(diǎn):選擇子程序的名稱右鍵選擇子程序的名稱右鍵點(diǎn)擊 Goto Sub Declaration(F12)
14、跳轉(zhuǎn)到代碼定義的地方。4.2.12凸顯關(guān)鍵字當(dāng)選中關(guān)鍵字的時(shí)候,代碼和右側(cè)的滾動(dòng)條上會(huì)藍(lán)色可以通過滾動(dòng)條你可以向上或向下定位到代碼。顯示。斷點(diǎn)也是一樣的4.2.13 調(diào)試首先你的 IDE 要在調(diào)試模式。如果選中此選項(xiàng),然后編譯代碼將包含調(diào)試代碼。運(yùn)行時(shí)調(diào)試代碼允許 IDE 連接到程序。當(dāng)程序啟動(dòng)時(shí),它會(huì)等待 DE 連接 10 秒,一般 IDE 馬上就能連上。你的程序在上運(yùn)行時(shí)你會(huì)看到等待提示。已編譯的 apk 文件的名稱將以_debug.apk 結(jié)束。不建議你發(fā)布這個(gè) apk,文件中包含調(diào)試代碼,增加了一個(gè)顯著的資源消耗,如果要發(fā)布,不能選擇 Debug 選項(xiàng)。當(dāng)你的程序在 Debug 狀態(tài)運(yùn)
15、行時(shí),IDE 將會(huì)顯示Debug 模塊在屏幕的底部。調(diào)試的注意事項(xiàng):-在下面的斷點(diǎn)將被忽略:Globals,,Pros_Globals 和 Activity_Pause-Servi-在調(diào)用 startService 時(shí)斷點(diǎn)將被忽略。斷點(diǎn)在 service_create 和 service_start 將暫停程序到一個(gè)特定的時(shí)間(大約 12 秒)。這是為了避免操作系統(tǒng)結(jié)束該服務(wù)。-程序的斷點(diǎn)被執(zhí)行到的時(shí)候事件將會(huì)被暫停。在事件代碼斷點(diǎn)將被忽略(只有當(dāng)項(xiàng)目已經(jīng)暫停)。-從設(shè)備到 IDE 發(fā)送數(shù)據(jù)的大小是有限的。長字符串可能被截?cái)唷?當(dāng)調(diào)試器運(yùn)行,IDE 是只讀的。用戶不能更改任何的程序文本。用于調(diào)
16、試的兩大重點(diǎn):斷點(diǎn):通過按壓灰域線的左邊,你可以設(shè)置的代碼行斷點(diǎn)。該程序?qū)和#?dāng)它到達(dá)一個(gè)斷點(diǎn),將允許你檢查當(dāng)前的狀態(tài)。日志:IDE 右側(cè)的日志頁是非常有用的。顯示組件的生命周期并顯示關(guān)鍵信息。請(qǐng)注意,有一個(gè) Filter 復(fù)選框。選中時(shí)你只會(huì)看到你的程序相關(guān)的信息。如果沒有選中 Filter 你將看到程序運(yùn)行時(shí)的系統(tǒng)信息。如果你遇到了一個(gè)錯(cuò)誤不能在日志中看到任何有關(guān)的錯(cuò)誤消息,這時(shí)取消 Filter 選項(xiàng)并查找錯(cuò)誤消息。注意,日志是設(shè)備的信息,當(dāng)你連接設(shè)備的時(shí)候,你可能看到以前的信息。為了發(fā)布工程,你必須先編譯:-發(fā)布版本程序中不包含調(diào)試信息。-發(fā)布版本()程序中不包含調(diào)試信息,代碼將會(huì)被
17、。Basic4android v1.8 增加了功能。在編譯 basic4android 生成 Java 代碼,然后用 Java 編寫編譯和轉(zhuǎn)換(Android Dalvik 字節(jié)碼格式)。用工具允許 Dalvik 字節(jié)代碼反編譯成 Java 代碼。模糊處理的目的是使反編譯的代碼不可讀,難于理解和使它更難提取字符串像開發(fā)商帳戶密鑰。了解如何是很重要的。做了兩件事:字符串任何寫在 pros_globals 子字符串(僅在這個(gè)代碼塊中)將是的,使它更很難提取重要的。字符串在運(yùn)行時(shí)反編譯后的。注意包名、版本名稱和版本代碼將會(huì)在運(yùn)行期間被。在 manifest 編輯器中修改這些值將破壞反編譯過程。變量重
18、命名全局變量名稱程序?qū)?huì)轉(zhuǎn)換為無意義的字符串。局部變量丟失不會(huì)影響編譯。以下標(biāo)識(shí)符不改名:-標(biāo)識(shí)符包含下劃線(事件處理需要下劃線)。-出現(xiàn)在 callsub 語句中的子程序。子程序名字作為一個(gè)靜態(tài)字符串被保存為標(biāo)識(shí)符。-設(shè)計(jì)器視圖名稱。提示:如果,因?yàn)槟承┰颍阈枰乐箍梢酝ㄟ^添加下劃線來重命名該標(biāo)識(shí)符名稱。將在文件夾創(chuàng)建名為 ObfuscatorMap.txt 的文件。這個(gè)文件原來的標(biāo)識(shí)符名稱和的名稱。該文件有助于分析錯(cuò)誤。激活功能basic4android1.8 版本選擇編譯模式使它變的更簡單。4.2.14 斷點(diǎn)單擊行左邊添加一個(gè)斷點(diǎn)。當(dāng)程序運(yùn)行時(shí)它會(huì)停在第一個(gè)斷點(diǎn)處。在 Globals
19、, Pro和 Activity_Pause 中的斷點(diǎn)將會(huì)被忽略。s_Globals運(yùn)行程序,該程序在斷點(diǎn)處停止在 IDE 中看起來像下面。斷點(diǎn)線是用黃色突出顯示的。在 IDE 的底部你會(huì)找到其他信息。調(diào)試器連接。雙擊斷開調(diào)試器。這個(gè)例程的程序停止的函數(shù)名字。在 52 行的新的程序。調(diào)用程序的新方法。在 24 行 activity_create 例程。點(diǎn)擊這些跳轉(zhuǎn)光標(biāo)到制定行。繼續(xù)執(zhí)行代碼 相當(dāng)于 F5。繼續(xù)執(zhí)行,到底或下一個(gè)斷點(diǎn)。移到下一行相當(dāng)于 F8。繼續(xù)執(zhí)行下一行,在調(diào)試過程中看到的真正的程序流程和變量值的變化過程。立即暫停代碼停止當(dāng)前程序 相當(dāng)于 F11.在模擬器中也能停止程序。在模擬器
20、中正在停止的程序在 IDE 不會(huì)停止!全局變量顯示程序中全局對(duì)象和變量的值和屬性。例如:btnAction: Type = Button Left = 190 Top = 0 Width = 115 Height = 55 Tag = empty Text = OKNumber1 = 6局部變量。 在這個(gè)例子中沒有鼠標(biāo)停留在變量上方會(huì)顯示他的值。懸停鼠標(biāo)在一個(gè)視圖中顯示其屬性列表中。讓一步一步運(yùn)行程序:設(shè)置一個(gè)斷點(diǎn)在 50 行。點(diǎn)擊運(yùn)行該程序,或按 F5。程序停在 50 行。全局變量窗口中顯示2 個(gè)numbers 的值。簡化顯示 2 個(gè) numbers 的值。點(diǎn)擊 F8 程序?qū)?huì)執(zhí)行下一行。N
21、umber1 變了!點(diǎn)擊 F8 程序?qū)?huì)執(zhí)行下一行。Number2 變了!4.3頁有 4 個(gè)在右下角的 IDE 顯示下列信息。4.3.1模塊程序在 IDE 的右側(cè)顯示該項(xiàng)目的所有模塊程序模塊的選擇列。模塊列表點(diǎn)擊一個(gè)模塊在代碼區(qū)顯示其代碼。查找程序功能 (Ctrl + E)查找選中(F7)所選擇的模塊子程序。點(diǎn)擊一個(gè)子程序,顯示出它的代碼區(qū)的中間位置。在 IDE 中,在右下角。4.3.1.1 查找程序功能 (Ctrl + E)這是一個(gè)搜索引擎找到與一個(gè)給定的名稱或一個(gè)給定的名稱的一部分子程序或者按下 Ctls + E 你下面的屏幕顯示的列表如果你點(diǎn)擊子程序根據(jù)輸入的文本框中的文本。如果沒有輸入
22、文本,選擇模塊的第一 10 例程顯示MyProgram.代碼為例。點(diǎn)擊一個(gè)項(xiàng)目顯示所選的程序代碼。另一個(gè)模塊的事件。在文本框中輸入 Act在所有模塊的所有例程中含有在他們的名字“Act”將被顯示。4.3.1.2 查找選中(F7)這是一個(gè)搜索引擎找到給定對(duì)象的所有(視圖,變量)。或按 F7 你下面的屏幕顯示的所有代碼列表如果你點(diǎn)擊與選定的參考或在當(dāng)前行的第一個(gè)對(duì)象行。MyProgram.代碼為例選中代碼中 49 行 Number1.點(diǎn)擊你被下面的列表中包含的所有選定的代碼行對(duì)象。在 IDE 的編碼區(qū)中列表點(diǎn)擊一行顯示.4.3.2 文件此窗口列出所有的文件已被添加到項(xiàng)目中這些文件被保存在 file
23、s.dirassets 文件夾。這些可以是任何類型的文件:layouts, images, texts, etc.點(diǎn)擊添加文件到列表。在該文件夾中可以的文件 file.dirassets.在 IDE 中,在右下角。使用檢查一個(gè)或多個(gè)文件是否可用。點(diǎn)擊此按鈕刪除從選定的文件列表,從項(xiàng)目文件的文件夾如果你想從文件夾刪除文件。Oui = 同意= 不同意Annuler = 取消確保刪除一個(gè)的文件,從文件夾中刪除文件,而不是轉(zhuǎn)移到回收站,如果你沒有備份,這意味著他們將被徹底刪除。4.3.3 日志它正在運(yùn)行時(shí)顯示程序所生成的日志.把在 SecondProgram 中添加 51 和 53 這兩行。行數(shù)可能與
24、你的不同。運(yùn)行程序。點(diǎn)擊連接日志器。在窗口中看到下面的程序。Activity (main) Create, is truelog message Second log message Activity (main) Resume=在 IDE 中,在右下角當(dāng)過 Filter被選中,你只會(huì)看到你程序的相關(guān)信息。當(dāng) Filter未被選中,你可以看到運(yùn)行的系統(tǒng)信息。如果你遇到了一個(gè)錯(cuò)誤,日志中看不到任何消息,取消 Filter 顯示錯(cuò)誤信息將是值得的。點(diǎn)擊用來這個(gè)日志窗體。如果調(diào)試器仍在運(yùn)行,選擇從 IDE 菜單停止調(diào)試,按 F11 鍵或點(diǎn)擊這樣的代碼可以被編輯。4.3.3.1 測試編譯/從 basi
25、c4android V2.70 開始,Basic4android 加入了是盡快找到潛在的設(shè)計(jì)錯(cuò)誤。對(duì)的目的運(yùn)行在:-你編譯程序時(shí)-在中點(diǎn)擊-當(dāng)你保存程序時(shí)。編譯時(shí)警告出現(xiàn)在日志和代碼本身時(shí),光標(biāo)停留在代碼行上面。代碼行的關(guān)注是強(qiáng)調(diào)這樣的警告點(diǎn)擊列表中的警告將帶您到相關(guān)的代碼處。忽略警告你作為開發(fā)者,可以選擇忽略任何警告。添加一個(gè)“忽略”的對(duì)于特定的行的所有警告。將刪除您還可以禁用在項(xiàng)目屬性或模塊屬性的區(qū)域的屬性。從模塊中的一個(gè)特定類型的加入# ignorewarning例如:禁用#10 和#12 行的#Region Projectributes#ApplicationLabel: Warnin
26、gs#Ver#VerCode: 1Name:SupportedOrien portrait.#SupportedOrienionssible values: unspecified, landscorions: unspecified#CanInstallToExternalStorage: False#IgnoreWarnings: 10, 12#End Region運(yùn)行時(shí)的警告一些警告只有在運(yùn)行時(shí)檢查。這些警告會(huì)出現(xiàn)在常規(guī)日志。在調(diào)試模式檢測運(yùn)行時(shí)的警告。警告列:1: Unreachable code detected.2: Not all code paths return a valu
27、e.3: Return type (in Sub signature) should be set explicitly.4: Return value is missing. Default value will be used instead. 5: Variable declaration type is missing. String type will be used.6: The following value misses screen units (dip or %x / %y): 1.7: Object converted to String. This is probabl
28、y a programming mistake. 8: Undeclared variable 1.9: Unused variable 1.10: Variable 1 is never assigned any value. 11: Variable 1 was not initialized.12: Sub 1 is not used.13: Variable 1 should be declared in Sub Pros_Globals.14: File 1 in Files folder was not added to the Files tab.nYou should eith
29、er delete it or add it tothe project.nYou can choose Tools - Clean unused files. 15: File 1 is not used.16: Layout file 1 is not used. Are you missing a call to Activity.LoadLayout? 17: File 1 is missing from the Files tab.18: TextSize value should not be scaled as it is scaledernally.19: Empty Catc
30、h block. You shouldeast add Log(LastException.Message).20: View 1 was added with the designer. You should not initialize it.21: Cannot acs views dimenbefore it is added to its parent.22: Types do not match.23: Modal dialogs are not allowed in Sub Activity_Pause. It will be ignored.24: Acsing fields
31、from other modules in Sub Pros_Globals can be dangerous asthe initialization order is not deterministic運(yùn)行時(shí)警告:1001: Panel.LoadLayout should only be called after the panel was added to its parent. 1002: The same object was added to the list. You should call Dim agao create a new object.1003: Object wa
32、s already initialized.1004: FullScreen or IncludeTitle properties in layout file do not match the activity attributes Settings.1:e detected. (無法的代碼檢測)有一些代碼不會(huì)被執(zhí)行在子程序返回之后又代碼,他們將不會(huì)執(zhí)行。2: Not all code paths return a value.(不是所有的代碼都有返回值)Sub Calc(Val1 As Double, Val2 As Double, Operation As String) As Doub
33、le Select OperationCase AddReturn (Val1 Case Sub Return (Val1 Case Mult Return (Val1 Case Div End SelectEnd Sub+Val2)-Val2)*Val2)Case Div 沒有返回值另一個(gè)例子:錯(cuò)誤代碼Sub DimDimActivity_KeyPress(KeyCode Answ AsTxt As StringAs) AsIf KeyCode = KeyCodes.KEYCODE_BACK Then Checks if the KeyCode is BackKeyTxt = Do you
34、really want to quit the program ?Answ = Msgbox2(Txt,A T T E N T I O N,Yes,No,Null) MessageBoxIf Answ = DialogResponse.ITIVE Then If return value is Yes thenReturnElse ReturnFalse Return = False the Event will not be consumed we leave the programTrue Return = True the Event will be consumed to avoid
35、leaving the programEndEnd EndIfIfSub正確的代碼Sub DimDimActivity_KeyPress(KeyCode As Answ AsTxt As String) AsIf KeyCode = KeyCodes.KEYCODE_BACK Then Checks if the KeyCode is BackKeyTxt = Do you really want to quit the program ?Answ = Msgbox2(Txt,A T T E N T I O N,Yes,No,Null) MessageBoxIf Answ = DialogRe
36、sponse.ITIVE Then If return value is Yes thenReturn Else Return End If Else Return End IfEnd SubFalse Return = False the Event will not be consumedwe leave the programTrue Return= True the Event will be consumed to avoidprogram leaving theTrue Return= True the Event will be consumed to avoidprogram
37、leaving the3: Return type (in Sub signature) should be seicitly.返回類型定義錯(cuò)誤代碼Sub Calc(Val1 As Double, Val2 As Double, Operation As String)正確代碼Sub Calc(Val1 As Double, Val2 As Double, Operation As String) As Double返回的類型必須被定義!4: Return value is missing. Default value wil默認(rèn)值)錯(cuò)誤代碼used instead.(返回值丟失。將使用Sub
38、 DimSumCalcSum(Val1 As Double, Val2 As Double) As Double Sum As Double= Val1 + Val2ReturnEnd Sub正確代碼Sub DimSumCalcSum(Val1 As Double, Val2 As Double) As Double Sum As Double= Val1 + Val2Return SumEnd Sub5: Variable declaration type is missing. String type wil失。字符串類型將被使用)錯(cuò)誤代碼used.(變量類型丟Sub Calc(Val1,
39、 Val2 As Double, Operation As String) As Double正確代碼Sub Calc(Val1 As Double, Val2 As Double, Operation As String) As Double在子每個(gè)變量都需要自己的類型但在隱式的,這是允許的,在下面兩個(gè)變量是同時(shí)定義的:Dim Val1, Val2 As Double6: The following value misses screen units (dip or %x / %y): 1.(下面的值沒有屏幕)錯(cuò)誤代碼Activity.AddView(lblTest, 10, 10, 150
40、, 50)正確代碼Activity.AddView(lblTest, 10dip, 10dip, 150dip, 50dip)在上面的例子中,四種警告,其中的每個(gè)值。視圖尺寸應(yīng)使用 dip,%X 或%Y 值查看 5.1 Spel functions like 50%x, 50dip7: Object converted to String. This is probably a programming mistake(對(duì)象轉(zhuǎn)換為字符串。這可能是一個(gè)編程錯(cuò)誤)8: Undeclared variable 1.(未錯(cuò)誤代碼Sub SetHeight h = 10dipEnd Sub正確代碼Sub
41、SetHeight Dim h As h = 10dipEnd Sub的變量)變量 h 未定義。顯示紅色。9: Unused variable 1. (未使用的變量)Sub SetHeight Dim h As h = 10dipEnd Sub這一警告,變量 H 是沒有用的。它,分配一個(gè)值,但是沒有用!沒有給出警告,因?yàn)樽兞?H 被使用了:Sub SetHeight Dim h As h = 10diplblTest.Height = hEnd Sub10: Variable 1 is never assigned any value.(變量“ 1 ”沒有指定任何值。)Sub TestDim
42、h As End Sub這一警告表明變量 H 的正確的代碼,見上面。但沒有指定任何值。11: Variable 1 was not initialized.(變量“ 1 ”沒有初始化。)錯(cuò)誤代碼Dim lst As Listlst.Add(Test1)正確代碼Dim lst As List lst.Initializelst.Add(Test1)變量(對(duì)象)如 List 或 Map 必須在使用之前初始化控件增加在父床提前必須被初始化。12:1 is not used.(子程序不被使用)子程序不被運(yùn)行時(shí)將會(huì)顯示警告。13: Variable 1 should be declared in定義在
43、pros_globals 中)b Pros_Globals.(變量“ 1 ”應(yīng)該錯(cuò)誤代碼SubDim DimGlobalsTimer1 As Timer GPS1 As GPS正確代碼Sub DimDimPros_GlobalsTimer1 As TimerGPS1 As GPS某些特定的控件,如Timers,GPS 應(yīng)在 Pros_Globals 而不是 Globals.14: File 1 in Files folder was not added to the Files tab.(文件“ 1 ”文件夾不能添加到文件”選項(xiàng)卡。)你使用的文件,在文件夾中卻不在文件你應(yīng)該:-刪掉它-增加到工程中。-文件夾中的無效文件。15: File 1 is not used(文件“ 1 ”是無用的)你的文件夾有未使用的文件。 你應(yīng)該將它們從文件夾中移除。或者你可以在 Tools 菜單中清潔文件夾的文件,如上面。16: Layout file 1 is not u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基層醫(yī)療衛(wèi)生機(jī)構(gòu)信息化建設(shè)中的醫(yī)療信息化與疾病預(yù)防控制報(bào)告
- 月嫂技能培訓(xùn)課件
- 新零售背景下便利店智能化供應(yīng)鏈金融創(chuàng)新報(bào)告
- 薄膜干涉題目及答案
- 安全質(zhì)量培訓(xùn)試題及答案
- 咖啡連鎖品牌擴(kuò)張戰(zhàn)略布局報(bào)告:2025年市場拓展與品牌戰(zhàn)略優(yōu)化方案創(chuàng)新
- 安全護(hù)理的試題及答案
- 單位音樂培訓(xùn)課件模板
- 安檢排爆培訓(xùn)課件
- cpa培訓(xùn)課件下載
- 鑄鐵閘門及啟閉機(jī)安裝說明及操作手冊(cè)
- 過敏性休克的急救及處理流程教材課件(28張)
- 物理發(fā)泡絕緣的生產(chǎn)與應(yīng)用課件
- 北交所評(píng)測20題及答案
- 《消防安全技術(shù)實(shí)務(wù)》課本完整版
- CLSI EP25-A 穩(wěn)定性考察研究
- SJG 44-2018 深圳市公共建筑節(jié)能設(shè)計(jì)規(guī)范-高清現(xiàn)行
- 職工子女暑期工會(huì)愛心托管班的方案通知
- (5年高職)客戶服務(wù)實(shí)務(wù)(第二版)教學(xué)課件全套電子教案匯總整本書課件最全教學(xué)教程完整版教案(最新)
- 兒科患兒及家屬的溝通技巧
- 童聲合唱訓(xùn)練講座
評(píng)論
0/150
提交評(píng)論