[求助]关于回调函数传递参数的问题
<P>有两个M文件,a.mt和b.m,代码如下:<BR>a.m:<BR>global x1;<BR>clf reset % <1> <BR>set(gcf,'unit','normalized','position',);%设置图形窗大小 <BR>set(gcf,'defaultuicontrolunits','normalized'); <BR>set(gcf,'defaultuicontrolfontsize',11); <BR>set(gcf,'defaultuicontrolfontname','隶书'); <BR>set(gcf,'defaultuicontrolhorizontal','left'); <BR>set(gcf,'menubar','none'); %删除图形窗工具条 <BR>str='通过指令显示图的交互界面'; <BR>set(gcf,'name',str,'numbertitle','off'); %书写图形窗名 <BR>h_axes=axes('position',,'visible','off');%定义轴位框位置 <BR>uicontrol(gcf,'Style','text',... %制作静态文本框 <BR>'position',,... <BR>'String','gamma输入框'); </P><P>x1=imread('111.bmp');<BR>hedit=uicontrol(gcf,'Style','edit',... %制作可编辑文本框 <14> <BR>'position',);</P>
<P>hpush=uicontrol(gcf,'Style','push',... %制作与列表框配用的按键 <24> <BR>'position',,'string','Apply'); </P>
<P>set(hedit,'callback','bb(hedit)'); %编辑框输入引起回调 <26> <BR><BR><BR>b.m:<BR>function bb(hedit) <BR>global x1;<BR>ct=get(hedit,'string'); %获得输入的字符串函数 <2><BR>string1= 'g=imadjust(x1,,[],';<BR>string2=');';<BR>user_entry=;<BR>if ~isempty(ct) %可编辑框输入非空时 <5> <BR>eval(user_entry) %运行从编辑文本框送入的指令 <6> <BR>end<BR>figure,imshow(g)<BR><BR>这样运行后显示正确,但是如果我将a.m的纯脚本改为函数就出错,即我在a.m的最前面加了function aa(),后面的代码不变,运行之后出现如下的错误:<BR>>> aa<BR>??? Undefined function or variable 'hedit'.</P>
<P>??? Error while evaluating uicontrol Callback.<BR><BR>请问这是怎么回事,谢谢!!</P>
回复:(dxwwangyan)[求助]关于回调函数传递参数的问...
我刚才运行了一下没什么毛病<BR>你试着将文件名和函数名改成一致看看回复:(dxwwangyan)[求助]关于回调函数传递参数的问...
<P>教授,我的文件名和函数名改为一样的了,a .m中加function a()后出错:<BR>??? Invalid handle object.</P><P>Error in ==> bb at 3<BR>ct=get(hedit,'string'); %获得输入的字符串函数 <2></P>
<P>??? Error while evaluating uicontrol Callback.<BR>还请教授指教,谢谢!</P>
页:
[1]