Pop-up Menu Issue
1 view (last 30 days)
Show older comments
I have a pop-up menu having two options:
- Get message from user
- Upload message from file
The 2nd option is working fine but when I choose 1st option it's giving error:
Reference to non-existent field 'message'.
Error in mainmain>Embed_Callback (line 201)
message=handles.message;
The pop-up buttons function is as below:
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
% contents{get(hObject,'Value')} returns selected item from popupmenu1
Contents =cellstr(get(hObject,'String'));
pop_choice=Contents(get(hObject,'Value'));
pop_choice;
if (strcmp(pop_choice,'Enter Message'))
message=get(handles.EnterMessage,'string');
handles.message=message;
elseif (strcmp(pop_choice,'Upload Message'))
[file,Path]=uigetfile('*.txt','Select file to read message,'.')
message = fileread(fullfile(Path,file));
handles.message=message;
end
guidata(hObject,handles)
11 Comments
Rik
on 26 Jul 2019
The string property contains a char array, not a string. This confusion was created when Mathworks introduced strings as a new data type, but (luckily) didn't rename properties or change their data types. That means both paths in your code should lead to char arrays.
So now the question is: have you made sure the message field contains a non-empty char array? And what do you mean with decoding?
Answers (0)
See Also
Categories
Find more on Desktop 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!