0

だから私は次のようなコンストラクターを持つmatlabクラスを持っています

function obj=MyClass(inputs)
        .
        .
        h=figure(ClosRquestFcn',@obj.test,,'Name','Progress','NumberTitle','off');
        .
        .
 end

私の問題は、MyClassクラスのメソッドtest()が検出されないことです。'obj'なしで試しました。プレフィックスもありますが、役に立ちません

4

1 に答える 1

1

別の問題の症状であるように私には見えます。コードを正確にコピーしたかどうかはわかりませんが、そこにはいくつかのタイプミスがあります。おもちゃのオブジェクトを作成した場合:

classdef testobj
  methods
    function testme(varargin)
      for ii=1:nargin
        if( isa(varargin{ii},'double') )
          disp( varargin{ii} );
          delete(varargin{ii});
        end
      end
    end
  end
end

次に、オブジェクトをインスタンス化し、close関数のコールバックを使用して単純な図を作成します。

me = testobj
figure('CloseRequestFcn',@me.testme)

フィギュアを閉じると、フィギュアが閉じて、画面にハンドル番号が印刷されます。

4

close関数を追加して、期待どおりに実行されることを確認してください。tryブロックがある場合は、必ずcatchエラーを表示してください。

于 2012-09-14T14:46:45.250 に答える