creatememberobj.m

来自「这是一个关于MATLAB的函数」· M 代码 · 共 30 行

M
30 行
字号
function bb = creatememberobj(bb,event,order)
% Private.
%   Copyright 2002 The MathWorks, Inc.
%   $Revision: 1.7 $  $Date: 2002/06/03 18:04:10 $

check = bb.containerobj_isInstantiated; % Check if member is already instantiated

if check(order)==0, % If not yet instantiated, create the appropriate member object
    name = get(event.Source, 'Name');

    all_membinfo_names = fieldnames(bb.containerobj_membinfo)'; % to get data from meminfo, do not use mangledmembname or membname; % instead, use the mangled name for that info structure
    info_str = bb.containerobj_membinfo.(all_membinfo_names{order}); % get information about member
    
    % add 'address' field in info if it does not exist by default -
    % createobj method needs address info
    if isempty(strmatch('address',fieldnames(info_str),'exact'))
        info_str(1).('address') = [bb.containerobj_address(1)+bb.containerobj_memboffset(order),bb.containerobj_address(2)];
    end
    
    try
	    createmember(bb, name, createobj(bb.containerobj_link,info_str) ); % Create object and assign to member
    catch
        disp(lasterr);
        error(['Problem occured while creating member object ' name ]);
    end
    check(order) = 1; % Set IsInstantiated flag to 1
	set(bb,'containerobj_isInstantiated',check); % Save check into 'containerobj_isInstantiated' property
end

% [EOF] creatememberobj.m

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?