Clear Filters
Clear Filters

How to remove ATL control from MATLAB after used?

2 views (last 30 days)
Mathew
Mathew on 15 Nov 2016
Answered: Mathew on 15 May 2018
MATLAB loaded the VC++ generated ATL/COM DLL, using actxserver: h = actxserver('....'); then invoked method. Now I wish to remove the control by delete(h). The purpose is to update the control DLL after modified VC++ code. However, the DLL cannot be replaced unless I quit MATLAB. How MATLAB can remove the control without quit MATLAB?
[EDITED, Jan, moved from answer section:]
MATLAB document and support said that delete/release should clear them up, but they don't.
  3 Comments
Mathew
Mathew on 15 Nov 2016
Windows pops up message said "other program is using the DLL", so I cannot replace the DLL with new one, unless I quit MATLAB.
Jan
Jan on 15 Nov 2016
Please post your code. "Matlab said delete/release" does not allow to recognize, what you are doing exactly.
Please add all important information by editing the question, not in comments or answers. Teh readers expect all details inside the question and collecting the parts from different sections is confusing. Thanks.

Sign in to comment.

Answers (2)

Jan
Jan on 15 Nov 2016
Edited: Jan on 15 Nov 2016
Did you try
h.Quit
h.delete
clear h
?

Mathew
Mathew on 15 May 2018
MATLAB does support Unloading an assembly; It seems same to MS COM.

Categories

Find more on C Shared Library Integration 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!