GUI use of ListBox error:??? Attempt to reference field of non-structure array.

1 view (last 30 days)
Hallo!
I used GUIDE to build a simple GUI in Matlab.
I'd like to upload multiple images with this function linked to a push button
-
% --- Executes on button press in upload.
function upload_Callback(hObject, eventdata, handles)
[filename, foldername] = uigetfile({'*.*'}, 'Select file');
[handles.filename, handles.pathname] = uigetfile({'*.jpg'},'Select file','MultiSelect');
if
handles.filename ~= 0
handles.FileName = fullfile(handles.pathname, handles.filename);
end
-
and store all images in a ListBox first to execute them toghether.
The code into the list box is:
-
% --- Executes on selection change in listbox1.
function listbox1_Callback(hObject, eventdata, handles)
prev_list = get(handles.listbox1,'string')
vars = get(handles.upload.filename , 'Value');% new item form upload
display(vars);
new_list = [prev_list , vars ]
set(handles.listbox1,'string',new_list);
-
On the command get, when I try to create the new variable vars appear this error
-
??? Attempt to reference field of non-structure array.
Error in ==> interfaccia>listbox1_Callback at 94
vars = get(handles.upload.filename , 'Value');% new item form upload
-
What is my mistake?
Thank you in advance for your support.
Emanuele

Accepted Answer

Walter Roberson
Walter Roberson on 6 Oct 2015
function upload_Callback(hObject, eventdata, handles)
[filenamesCell, pathname] = uigetfile({'*.jpg'},'Select file(s)','MultiSelect');
if ~isnumeric(filenamesCell)
oldlist = cellstr( get(handles.listbox1, 'String') );
set(handles.listbox1, 'String', [oldlist; fullfile(pathname, filenamesCell)]);
end
function listbox1_Callback(hObject, eventdata, handles)
choices = cellstr( get(hObject, 'String') );
idx_chosen = get(hObject, 'Value');
if ~isempty(idx_chosen)
chosen_file = choices{idx_chosen);
do something with chosen_file
end

More Answers (0)

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!