几何尺寸与公差论坛

 找回密码
 注册
查看: 584|回复: 0

【转帖】determine if file is loaded in solidworks [solved]

[复制链接]
发表于 2009-4-13 10:18:16 | 显示全部楼层 |阅读模式
determine if file is loaded in solidworks [solved]
update::
turns out enumdocuments2 does return them all; i had copied some code from my previous project and overlooked a check i did for modeldoc2::visible, effectively skipping the hidden documents, which is not what i wanted for this case. fixed now but i will leave this post up for future reference.
i am after an efficient way to detect whether or not a solidworks file is opened in solidworks (ie. locked to that solidworks so if someone else wen't to open it it would say it is opened by another user or whatever).
the problem is, the first check is whether or not the file is locked on the filesystem at all, if it isn't then sw does not have it open.
then i try to check whether solidworks has the file open, and the only way i know to do this so far is to call the activatedoc2 function and see if it succeeds, if it does it was loaded into sw even if it wasn't visible (for example a part from an assembly when the assembly is open). the problem with this is it is extremely inefficient for determining if a file is loaded.
using enumdocuments2 also will not work as it only enumerates the direct documents, not the ones loaded in the background as i am running out-of-process and even though the documentation states that enumdocuments2 will only work with in-process dll's it does work out-of-process (but does not return the file references even though it states it should) * see note below.
does anyone have a solution for this?
* note for enumdocuments2 *
allows access to a documents enumeration. can only be used in in-process dlls.
the list of modeldoc2 objects in the enumdocuments2 object contains all open modeldoc2 pointers, including modeldoc2 objects opened as file references (for example, from an assembly or drawing). you can use modeldoc2::visible to determine if a particular document has its own window and is visible to the user.

edited: 08/15/2008 at 10:16 am by luke malpass
quick
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-24 02:25 , Processed in 0.036297 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表