파일 나는 GUI라는 이름의 SCADA를 만들고 난이를 눌러 GUI가 읽기 GUI 데이터
handles.StatusData=false;
guidata(handles.output,handles);
를 시작할 때 즉 false로 설정되어있는 플래그가 StatusData라는 부울 변수를 추가 버튼을 누른 다음 계속 실행되는 함수가 호출됩니다 (이 함수에는 무한 루프가 있음). 잠시 후 StatusData를 true로 설정하는 다른 버튼을 누릅니다.
handles.StatusData=true;
guidata(handles.output,handles);
이제 제가 그 함수를 호출 할 때 I 매개 변수로 핸들을 전송이 acheieve하기 위해, 콜백 함수 (동일한 함수 I 위에서 언급)에서 StatusData
액세스 할 필요가있다. 이제 StatusData를 변경하는 버튼을 누르면 실제 핸들의 데이터가 변경되지만 함수가 이미 호출되었으므로 업데이트 된 StatusData에 액세스 할 수 없습니다.
업데이트 된 GUI 핸들을 매개 변수로 보내지 않고 어떻게 액세스 할 수 있습니까?
감사
설명이 약간 혼란 스럽습니다. MATLAB GUIDE에서 GUI를 디자인 할 때 모든 콜백 함수는'handles' 구조체를받습니다. 당신은 그것으로부터 값을 검색 할 수있을뿐만 아니라 값을 설정할 수있다 ('handles'는 참조 객체가 아닌 by-value를 전달하기 때문에'guidata'를 호출하여 그것을 갱신해야 함) – Amro