Re: [問題]debug mode與實際運跑有差異

看板MATLAB作者 (工作要順利``)時間10年前 (2015/07/28 23:23), 10年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
還是找不到原因 附上範例程式碼及過程 首先定義cell變數 a{1,1}='A'; a{1,2}='我'; a{2,1}='B'; a{2,2}='你'; 並將a另存成a.mat 在GUI內設定兩個text分別為text1,text2 在整個GUI的opening function內加入 load('a.mat'); handles.a=a; 以讀取cell變數a 並在text1加入一個keypressfunction 其程式碼為 currChar = get(handles.figure1,'CurrentCharacter'); a=handles.a; Key_word = get(handles.edit1,'String'); if isequal(currChar,char(13)) %char(13) == enter key for i=1:length(a(:,1)) try b=Key_word; if strfind(a{i,1},Key_word)==1 && strfind(Key_word,a{i,1})==1 search_result=a(i,2); set(handles.edit2,'string',search_result{1,1}); vb=actxserver('wscript.shell'); vb.SendKeys('{TAB}'); end catch end end end guidata(hObject, handles); 主要目的為在text1上打A(B)並按下enter 可以在text2上顯示其對應的值我(你)並同時將打字的閃爍I跳到text2 但結果都是按第一次時,會先將打字的閃爍I跳到text2 而回去按第二次text1 enter時,才會改變成相對應的值 一直搞不懂是什麼原因 希望有人能幫我看看這個問題 非常感謝!!! ※ 引述《wsqa (工作要順利``)》之銘言: : 各位先進 : 我最近有一個GUI的問題一直持續發生 : 但我又找不到原因 : 就是我在使用breakpoint來debug的時候 : 程式運作很正常,如我想要的狀況 : 但是實際在運行GUI : (使用KeyPressFcn在text裡面輸入好直接按enter運行) : 就會跟我有設breakpoint的過程不太一樣 : 例:觸發KeyPressFcn的callback會開始比較字串是否一樣 : 。在GUI運行時,必須按第二次才會進行比對(第一次好像會讀到空的??) : 。而在breakpoint的狀態,則是直接就會進行比對 : 請問這可能是哪個地方出問題了呢 : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.14.174.139 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1438096990.A.7B6.html ※ 編輯: wsqa (119.14.174.139), 07/28/2015 23:25:00 ※ 編輯: wsqa (119.14.174.139), 07/28/2015 23:26:24 ※ 編輯: wsqa (119.14.174.139), 07/28/2015 23:27:52 ※ 編輯: wsqa (119.14.174.139), 07/28/2015 23:30:07
文章代碼(AID): #1LjvvUUs (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1LjvvUUs (MATLAB)