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

1 visualización (últimos 30 días)
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 comentarios
Raymond Norris
Raymond Norris el 16 de Dic. de 2020
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 el 16 de Dic. de 2020
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});

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Downloads en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by