Change in OOP programming between 2014a and 2016 - Structures not recognized anymore?
1 回表示 (過去 30 日間)
古いコメントを表示
Hello all,
I'm working on a project that was coded in 2014a version and trying to bring it up the MatLab versions. I tried to bring it from the 2014a to 2016a version but I seem to have an issue with how the Object Oriented Programming files are handled by Matlab.
Here's a 'picture' of my directory :

I have an issue where Matlab says that :
Warning: 'bbb.ccc.ddd.eee.fff.ggg.B_AutomaticTransformation' exceeds MATLAB's maximum name length of 63 characters
and has been truncated to 'bbb.ccc.ddd.eee.fff.ggg.B_AutomaticTransformatio'.
....
Undefined variable "aaa" or class "aaa.bbb.ccc.ddd.eee.fff.ggg.B_AutomaticTransformatio".
Error in ... (line ...)
oPlugin = aaa.(sPlugin(6:end))(this, oParent, oGUI, varargin{:});
Has something changed in the way files and folders are handled my Matlab / OOP in the transition from 2014a to 2016a as it's working in the 2014a version?
Also, I'm going from 2014a to 2023b versions of Matlab. Is a 'stop' at the 2016a version before going to the 2023b version worth it?
Thanks !
6 件のコメント
Walter Roberson
2025 年 4 月 10 日
I am surprised that the length of the fully-qualified name is restricted. There does not seem to be good reason for that. It would only take 4-ish reasonably named levels to run across the limit.
dpb
2025 年 4 月 10 日
I dunno about Linux, but Windows Win32 API has a total path length limit of 260 characters unless the application uses the long fllename prefix "\\?\" and the particular API has a Unicode version. Beginning sometime in Win10 there's also a registry entry that can be set to enable long file names, but that again is effective only for applications which register as supporting them.
But a total limit of 63 seems like a coding mistake comparing the wrong things.
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Environment and Settings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!