У меня есть эта функция в скрипте:
function exp(source,eventdata,indx)
global h;
global d;
global myslash;
global experiment;
global description;
mddefaults = ([cd myslash 'parameters']);
if exist(mddefaults, 'dir')
defaults = [mddefaults ,myslash];
else
defaults = [cd ,myslash 'parameters' myslash];
end
mh = guihandles(gcf);
filesel = d(indx).name ;
experiment = filesel(1:length(filesel)-2);
set(mh.ExpLabel,'String', experiment);
descr = help(experiment);
set(mh.description,'String', descr);
Он встроен в файл .m с кучей других функций для запуска моего эксперимента. Как вы можете видеть, он входит в каталог и задает имя и описание эксперимента на основе файлов в этом каталоге (между ними можно выбрать несколько возможных экспериментов). Однако это не работает, и я не могу понять, почему. Чтобы быть более точным, «ExpLabel» работает, и название эксперимента отображается; однако «описание» не работает для каждого файла. Смущает то, что это работает для некоторых файлов, но не для других, даже если они все отформатированы одинаково.
Есть идеи? Вам нужно больше моего сценария?
EDIT1:
Вот код для текстовых элементов uicontrols, которые подается кодом в OP:
uicontrol(mainfigure, 'Style', 'text',...
'String', experiment,...
'FontSize',10,'FontWeight','bold',...
'Position',[hpcont vpcont-30 hpcont+hsizecont*6 15],...
'Tag', 'ExpLabel');
uicontrol(mainfigure, 'Style', 'text',...
'String', description,...
'Max',2,'Min',0,...
'HorizontalAlignment','left',...
'Position',[hpcont vpcont-vsizecont*11.5 hpcont+hsizecont*6 275],...
'Tag', 'description');
Первый работает, второй только иногда работает. Не могу понять, почему. И, опять же, без сообщения об ошибке, он просто не отображает текст, который он должен. (Не беспокойтесь о позиции, все работает нормально; я знаю, что это выглядит довольно странно, но это не имеет отношения к этому).