![]() |
变量丢失的问题,很奇怪,大家给看看
我的一个GUI程序
[filename,pathname]=uigetfile('*.txt','Select the file'); file=fullfile(pathname,filename); fid = fopen(file,'r'); if fid==-1 msgbox ('Please open a file'); else handles.fid=fid; datainformation=fgets(fid,100); name=fgets(fid,1000); time=fgets(fid,100); time1=time(13:22); set(handles.text_time,'String',time1); fscanf(fid,'%c',19); channelnumtemp=fscanf(fid,'%d',1); handles.channelnum=channelnumtemp; [COLOR="Red"]strChannelnum=num2str(handles.channelnum,2);[/COLOR] set(handles.text_channelnum,'String',strChannelnum); fscanf(fid,'%c',14); samples=fscanf(fid,'%d',1); handles.samples=samples; set(handles.text_samples,'String',samples); set(handles.edit_firstnum,'String','1'); for i=1:7 fgets(fid,50); end fgets(fid,14); starttime=fscanf(fid,'%f',1); fgets(fid,9); fscanf(fid,'%c',15); endtime=fscanf(fid,'%f',1); caijitime=endtime-starttime; handles.caijitime=caijitime; displaytimes=round((caijitime+4)/10); handles.displaytimes=displaytimes; dataline=caijitime*samples; str_dataline=num2str(dataline); set(handles.edit_lastnum,'String','80000'); datarow=channelnum+1; handles.datarow=datarow; for j=0:3 fgets(fid,50); end fgets(fid,150); interval=1/samples; handles.interval=interval; str_caijitime=num2str(caijitime); set(handles.text_zongshijian,'String',str_caijitime); set(handles.pushbuttonnexttimes,'Enable','on'); address=zeros(10,1); address(1)=ftell(fid); handles.address=address; guidata(hObject,handles); end 程序执行到红色的那行时,就出现变量丢失的情况,直接提示说handles.channelnum不存在,将handles.channelnum换成channelnumtemp,也出现同样的情况,我实在不知道是什么原因,大家给看看 |
回复: 变量丢失的问题,很奇怪,大家给看看
在你使用这个变量之前,请先使用guidata保存handles,以便是handles中的变量进行更新。否则,在工作空间中的handles里还不会保存你刚刚定义的变量,调用的时候就会找不到此变量。如果为了懒省事,可以在此前使用过渡变量,即去掉前面的handles.保存,直到函数结束时再保存相关的变量至handles空间。
|
所有时间均为北京时间。现在的时间是 03:09。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.