MATLAB Answers

makeDOMCompilable() DOES NOT resolve compiling application with report generator

26 views (last 30 days)
farzad
farzad on 21 May 2020
Edited: Image Analyst on 24 May 2020
Hi All
As Matlab help has suggested, I used this command, BUT after Compiliing, the button to generate the report DOES NOT work while it works fine in the non compiled application.
What I do is that before calling the function that imports
import mlreportgen.ppt.*;
I use the command
if ismcc || isdeployed
% Make sure DOM is compilable
makeDOMCompilable()
end
It's really disappointing, cause after doing all I needed, now the compiled one does not work and I just hear a nice DANG error sound from the compiled app, also because I can not get a printed error to see why it is not working. but anyway I use windows 7 and matlab 2020

  5 Comments

Show 2 older comments
farzad
farzad on 21 May 2020
the only place I have not tried the makeDOMCompilable() command is in the strartup of my application. I think it's absolutely not helping command
Adam Danz
Adam Danz on 21 May 2020
As I said, I don't have much experience with the compiler.
I noticed on the mcc page, if you scroll about 1/2 way down you'll see a 'caution' about the -a flag.
farzad
farzad on 21 May 2020
thank you so much ! so I assume my problem is that I am using a powerpoint template and using mcc -a , I should contain that ppt file maybe ?
from the syntax I am not sure if I have to insert the folder adress for that file ?
an another thing, while there is a section in compiler window that allows me to choose extra files that are supposed to be included in compiling from jpg to ppt or whatever, and after compiling I see them in the compiled folders, so what difference does this mcc make ? and where exactly should I write it ? in the code ? where ?
I am a little bit confused. is mcc used in GUI or also in app designer ? you can see in the last panel, I can add files that can be installed for the end user. is it the same thing as mcc ? if so, I have done it already

Sign in to comment.

Accepted Answer

Rahul Singhal
Rahul Singhal on 22 May 2020
Hi Farzad,
I see that you are using Report Generator PPT API to generate PowerPoint presentations.
To compile a PPT API program, you will have to use makePPTCompilable(). See https://www.mathworks.com/help/rptgen/ug/compile-a-presentation-program.html
Thanks,
Rahul

  1 Comment

farzad
farzad on 23 May 2020
that was it ! you nailed it ! the problem is from Matlab help webpage that has only considered one API type. in the page I was able to find, it was considering the user knows already the difference between report program and presentation program. I think all of these have to be mereged in one page. I was never finding the page you suggested

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 22 May 2020

  2 Comments

farzad
farzad on 23 May 2020
Thank you so much, despite the problem is resolved, this page seems super interesting and definitely helpful. I have never considered Running DependencyWalker. Is it obligatory, isn't MCR enough to make this app run on any other PC ?
Image Analyst
Image Analyst on 24 May 2020
MCR is enough only if you only call MATLAB functions. If everything works fine, you don't need to use Dependency Walker.
If you call your own DLLs and forgot to use the -a option, then Dependency Walker may still be useful to help you identify the missing file.. Or if somehow one of the dependencies of the MATLAB functions went missing somehow, then Dependency Walker will help you identify the missing file.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!