MATLAB Answers

Error while calling mlapp from function

조회 수: 2(최근 30일)
Rohan Nadkarni
Rohan Nadkarni 2021년 7월 5일
답변: Pranjal Kaura 2021년 9월 2일
I have a function that is supposed to read text fields from a pdf, then calls an mlapp, then call an mlapp, then enter text fields from pdf and outputs of the mlapp into a new entry in a SQL table. I create outputs of the mlapp in the SubmitButtonPushed function using the syntax
Example of how the code looks is below.
function createDBEntryFromPDF(pdfname)
%code to read text fields from pdf
my_app_handle = manual_entry_app(textfrompdf1, textfrompdf2);
conn = database('breastMRdb','','');
newentry = table(textfrompdf1, textfrompdf2, outputfrommlapp)
However, when I call this function from the MATLAB Command Window like this
I get an error while creating newentry that variable outputfrommlapp doesn't exist. It is not an issue of the variable name being spelled wrong in the caller function createDBEntryFromPDF or in the mlapp. I thought the uiwait would resolve this issue, but it doesn't.
What else am I supposed to do so that outputfrommlapp can be added to the table in the 2nd to last line of the function without error?
Rohan Nadkarni


Pranjal Kaura
Pranjal Kaura 2021년 9월 2일
It is my understanding that the callback of the button 'SubmitButtonPushed' is the caller to your function 'createDBEntryFromPDF'. Therefore using assignin('caller','outputfrommlapp','Y') in the callback of 'SubmitButtonPushed' would add a variable named 'outputfrommlapp' in the caller of the callback function (and not in the workspace of your 'createDBEntryFromPDF' function). Thus, there is no variable named 'outputfrommlapp' in the function 'createDBEntryFromPDF'. You can read more about the function assignin using the documentation.
A possible workaround could be to set the 'outputfrommlapp' as a private (or public) property of the app. You can read more about it here and here


Community Treasure Hunt

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

Start Hunting!

Translated by