1

別のプッシュボタン コールバックでプッシュボタン コールバックを実行しようとしていますが、問題があります。

これが私がやろうとしていることです:

C_N_Callback(hObject,eventdata, handles)

   RN_Callback(handles, [], []);

これを試しましたが、次のエラーが発生しました。

非構造体配列のフィールドを参照しようとしています。

RN_Callbackやっている最初のステップの中にgetappdata

私もこれを試しました:

C_N_Callback(hObject,eventdata, handles)

   RN_Callback(hObject,eventdata, handles);

これによりエラーは発生しませんでしたが、GUIを実行すると、手順が実行され続けますRN_Callback(更新時に推測します)。

4

1 に答える 1

1

おそらくRN_Callback、への参照を使用していますhObject。念のために言っておきますが、hObjectはコールバックが呼び出されているオブジェクトです。したがって、あなたの場合は、の代わりににC_N渡されます。RN_CallbackRN

その場合、あるタイプのGUIオブジェクトを期待しているが、別のタイプのGUIオブジェクトを取得しているため、コードは間違っています。例えば:

function RN_Callback(hObject,eventdata, handles)
     set(hObject,'String','This is me!');
end    

function C_N_Callback(hObject,eventdata, handles)
     RN_Callback(hObject,eventdata, handles);
end

をクリックするとRN、文字列が変更されます。ただし、クリックすると、予想どおりではなく、C_N変更されます。C_NRN

于 2012-02-13T21:00:19.833 に答える