Hello,
If you try the following test script button:
<?xml version="1.0"?>
<button backcol="none" display="both" label_pos="right" separate="yes" textcol="none">
<label>Test VBScript Function</label>
<icon1>#script</icon1>
<function type="script">
<instruction>@language vbscript</instruction>
<instruction />
<instruction>Function OnClick(ByRef clickData)</instruction>
<instruction> Dim item</instruction>
<instruction> For Each item In clickData.func.sourcetab.selected</instruction>
<instruction> DOpus.Output("item: " & item)</instruction>
<instruction> DOpus.Output("item.is_dir: " & item.is_dir)</instruction>
<instruction> DOpus.Output("GetType: " & DOpus.FSUtil.GetType(item))</instruction>
<instruction> Next</instruction>
<instruction>End Function</instruction>
</function>
</button>
...and have the same zip file in both a library path and regular physical path, you get a different result (file vs dir) from FSUtil.GetType:
item: lib://My/?2625f55a/Test Comic.zip
item.is_dir: False
GetType: file
item: G:\BOOKS\COMICS\Test Comic.zip
item.is_dir: False
GetType: dir
FWIW: I'm aware of the "a" flag available for use with the GetType method to force it to report as a file, the point here is that GetType is reporting archives as files even withOUT the "a" flag when the file is in a library path.
As an aside, I started using GetType at Leo's suggestion when I found out that the item.is_dir property threw an error on some objects. Now that it's fixed in v11.17.1 beta - I'll go back to using it, but still figured you'd want to fix this sorta related bug here anyway as well