Info

This question is closed. Reopen it to edit or answer.

cannot findobj() when running as an EXE application

1 view (last 30 days)
E
E on 19 Sep 2015
Closed: MATLAB Answer Bot on 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?

Answers (1)

Image Analyst
Image Analyst on 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 Comments
E
E on 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 on 19 Sep 2015
You might want to investigate what ishandle() returns:
itsAValidHandle = ishandle(checkBoxHandle)

Products

Community Treasure Hunt

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

Start Hunting!