Use batch within custom class A on a non-static method of custom class B

1 次查看(过去 30 天)
I want to execute a non-static method of a custom class non-blocking/asynchronously from another class. Those 2 object are linked by their common parent object. The way I tried so far looks something like this:
classdef ClassA < handle
function non_blocking(self, varargin)
...
batch(@self.parent.ClassB.do_stuff, 0, {arg1_value,0,0,0,'arg2', arg2_value});
...
end
end
resulting in
Warning: Unable to calculate the dependencies of the files:
self.parent.ClassB.do_stuff
because:
File, function or class "self.parent.ClassB.do_stuff" may not exist. Neither WHICH nor EXIST could find an exact, case-sensitive match. Please check the spelling
of the name, and that any required directories are on the MATLAB path.
Any ideas or workarounds to fix this?
  2 个评论
Raymond Norris
Raymond Norris 2020-12-16
You might not need to resolve this warning. MATLAB isn't systematically going through do_stuff for additional functions to add to the job, but perhaps these files already exist on the worker's path.
Does the job run?
Andre Butzerin
Andre Butzerin 2020-12-16
I maybe forgot to mention that self.parent is a App Designer app object..
But yes, it works now by using:
classB_obj = self.parent.ClassB;
batch(@classB_obj.do_stuff, 0, {arg1_value,0,0,0,'arg2', arg2_value});

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Downloads 的更多信息

产品


版本

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by