Using AppDesigner with FileSystemWatcher
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Darrell
am 29 Jun. 2020
Beantwortet: Geoff Hayes
am 30 Jun. 2020
I am trying to create a MATLAB app that uses FileSystemWatcher to call an event handler each time a specific file has changed--using version 2018b. I have created the following two functions in Code View using the appdesigner; however the app never calls 'eventhandlerChanged' function. I've spent a lot of time trying to get this to work, so any help would be greatly appreciated.
% Button pushed function: TestFSWButton
function AddFSW(app, event)
fileObj = System.IO.FileSystemWatcher('D:\Matlab\Work');
fileObj.Filter = 'test.csv';
fileObj.EnableRaisingEvents = true;
addlistener(fileObj,'Changed',@app.eventhandlerChanged);
end
function eventhandlerChanged(app,evt)
tic;
toc;
end
6 Kommentare
Akzeptierte Antwort
Geoff Hayes
am 30 Jun. 2020
Summary of issue: from Create event listener bound to event source it shows that the call to addlistener returns an object. In the above code, this object is local to the AddFSW method and so would be destroyed when the method "completes" which would mean that we no longer have an object listening for changes to the file. The fix is to make the listener object a member of the app so that it exists for the lifetime of the app (or until removed or deleted if needed).
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Develop Apps Using App Designer finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!