Standalone application works in MATLAB but not outside
Show older comments
I have an application that works perfectly in MATLAB but when compiled as a standalone application does not...
With a try and catch statement I think I discovered that the problem is the data file... I have a data file called Data.mat, I think that the standalone application is not able to find it. The function I am using to find the path for Data.mat is the following:
function thePath = showpath()
% Show EXE path:
if isdeployed % Stand-alone mode.
[status, result] = system('set PATH');
thePath = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once'));
else % Running from MATLAB.
thePath=pwd;
end
The main program call this function in this way:
try
imgFile1 = fullfile(showpath, 'Data');
shipp=load(imgFile1);
catch err
if ~exist(imgFile1, 'file');
errordlg('File does not exist','Input Error');
else
rep = getReport(err, 'extended');
msgbox(rep)
end
end
Where is the mistake?
Accepted Answer
More Answers (7)
Robert Cumming
on 11 Apr 2011
if your code isn't working that indicates your variable
thePath
is different when deployed and when not. Try printing it to the screen to check what it is. e.g something like:
function test
disp ( ['PWD=', pwd ] );
disp ( ['showPath=', showpath] )
end
function [thePath]=showpath()
% Show EXE path:
[status, result] = system('set PATH');
thePath = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once'));
end
Check function both in Matlab and compiled.
condor
on 11 Apr 2011
0 votes
2 Comments
Kaustubha Govind
on 11 Apr 2011
Have you added Data.mat to the "Other files" section in deploytool?
condor
on 11 Apr 2011
Robert Cumming
on 11 Apr 2011
0 votes
I've never used the deploytool - I still do everything from command line.
But having a look at it, have you added your Data.mat to the package, then after you build the exe you package it up - which will create a ZIP file or a self extracting exe which should contain your exe and data file...
condor
on 11 Apr 2011
condor
on 11 Apr 2011
0 votes
2 Comments
Robert Cumming
on 11 Apr 2011
src is the files generated by the compiler during compilation
distrib - is the files to be distributed.
condor
on 11 Apr 2011
condor
on 11 Apr 2011
3 Comments
Robert Cumming
on 11 Apr 2011
did you add it to the build or the package part?
can you see the file in the dir? (I suspect not)
condor
on 11 Apr 2011
Robert Cumming
on 11 Apr 2011
if you look in explorer do you see the file?
condor
on 11 Apr 2011
Categories
Find more on MATLAB Compiler in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!