How can I set the folder from which the MatLab App-desinger function starts as the default workspace?
20 ビュー (過去 30 日間)
古いコメントを表示
I have developed a program within the Appdesinger. However, the .mlapp can only be launched and run correctly if all functions and files have been loaded into the workspace previously. When double-clicking on the program, only a part is loaded and the app does not work.
Which settings do I have to configure so that all necessary files are loaded from the local directory when the app is started directly?
can I define a startup callback function that allows this ?
Thx
0 件のコメント
採用された回答
Ankit
2022 年 8 月 29 日
編集済み: Ankit
2022 年 8 月 29 日
you can set paths to specific folders under properties...
properties (Access = public)
topLevelFolder = pwd;
% Get a list of all files and folders under the top level folder or user
% defined path
files = dir(topLevelFolder);
% Get a logical vector that tells which is a directory.
dirFlags = [files.isdir];
% Extract only those that are directories.
subFolders = files(dirFlags); % A structure with extra info.
% Get only the folder names into a cell array.
subFolderNames = {subFolders(3:end).name} % Start at 3 to skip . and ..
for i = 1:length(subFolderNames)
path = addpath(genpath(subFolderNames{1,i}));
end
end
You can also create startupFcn but it will run after createComponents(app).
function app = YourApp
% Create and configure components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.FigureName)
% Execute the startup function
runStartupFcn(app, @startupFcn)
if nargout == 0
clear app
end
end
5 件のコメント
Ankit
2022 年 8 月 29 日
@Malte Tsz if it solves your problem, then you can accept answer! in case of error update here!
Ankit
2022 年 8 月 29 日
@Malte Tsz if it solves your problem, then you can accept answer! in case of error update here!
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!