Accessing handle graphics from within Fortran mexfunction

3 ビュー (過去 30 日間)
Otis
Otis 2011 年 8 月 15 日
Can you access Matlab's handle graphics from within a Fortran mexFunction? I see that there are mexSet and mexGet functions; however, they appear to apply only for C mexFunctions.
Thanks a million, Bill

採用された回答

Titus Edelhofer
Titus Edelhofer 2011 年 8 月 15 日
Hi Otis,
I guess (!) the answer is yes. Handles itself are just usual doubles. Therefore you should be able to call the set and get by something like
mxArray* pprhs[3];
pprhs[0] = prhs[0]; // assuming prhs[0] is the handle
pprhs[1] = mxCreateString("tag");
pprhs[2] = mxCreateString("Bill");
mexCallMATLAB(0, plhs, 3, pprhs, "set");
Titus
  5 件のコメント
Jan
Jan 2011 年 8 月 15 日
@Titus: Please fix the prhs->pprhs confusion in your code. The line "prhs[0] = mxDuplicateArray(prhs[0])" will blow-up the memory manager...
Titus Edelhofer
Titus Edelhofer 2011 年 8 月 15 日
Hi Jan,
thanks for the reminder, done ...
Titus

サインインしてコメントする。

その他の回答 (1 件)

James Tursa
James Tursa 2011 年 8 月 15 日
You can get Fortran versions of mexGet and mexSet in my Fortran 95 interface package, which can be found here:
They work the same as their C counterparts. You can also find a lot of other useful functions & utilities in this package, many of which are not available in the C API.
  1 件のコメント
Otis
Otis 2011 年 8 月 15 日
@James ... Cool!! I will definitely check it out. Thanks!!
Bill

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeFortran with MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by