Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

cannot findobj() when running as an EXE application

1 Ansicht (letzte 30 Tage)
E
E am 19 Sep. 2015
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
Hi Guys,
I have this weird issue where when im running my application from the Matlab env. everything is working well. when i later on compile it into an EXE and run it, it doesn't work. debugging showed me that the problem is when calling findobj();. when running in Matlab it returns the handle to the object im looking for and when running as an EXE it doesnt. For reference, see attached 2 images. one taken from within matlab and the second from the cmd prompt when EXE was running.
Console output running code from Matlab:
console output running compiled code from windows:
Code used:
% resetAllCheckBoxes(h);
checkBoxHandle = findobj('Tag',['param_',num2str(checkBoxNum)]);
disp('CHECK BOX HANDLE:')
checkBoxHandle
input('Press entere to continue');
set(checkBoxHandle,'Value',1);
end
Any idea whats going on here?

Antworten (1)

Image Analyst
Image Analyst am 19 Sep. 2015
Add this code
str = ['param_',num2str(checkBoxNum)]
fprintf('checkBoxNum = %f\nLooking for tag = %s', checkBoxNum, str);
Any difference in what you see between the compiled and development environment?
  2 Kommentare
E
E am 19 Sep. 2015
Hi, THanks. I changed the code to the below and now it is working. still cant say why it didnt work before...
resetAllCheckBoxes(h);
set(h.(strcat('param_',num2str(checkBoxNum))),'Value',1);
Image Analyst
Image Analyst am 19 Sep. 2015
You might want to investigate what ishandle() returns:
itsAValidHandle = ishandle(checkBoxHandle)

Diese Frage ist geschlossen.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by