UMMM icon indicating copy to clipboard operation
UMMM copied to clipboard

Classes without TYPEFLAG_FCANCREATE are omitted

Open DavidHollman opened this issue 2 years ago • 2 comments

I noticed the following line in pvDumpClasses():

If .AttributeMask And (TYPEFLAG_FCANCREATE Or TYPEFLAG_FCONTROL) <> 0 Then
...

So if either of those flags are NOT set, the class is NOT output.

What was the reason to omit classes without these flags? It seems like this means PublicNotCreatable classes are left out, for instance.

Thanks

DavidHollman avatar Jan 19 '23 18:01 DavidHollman

This looks completely wrong. It’s missing parentheses around bitwise And effectively making it always succeed. Ouch!

wqweto avatar Jan 19 '23 20:01 wqweto

Btw, this branch is reached only when the OCX/DLL is not registered and it's actually problematic to extract complete manifest info from component's typelib only so this is not recommended and is an unsupported use-case.

The point is for UMMM to work correctly, source OCX/DLL components have to be registered on the machine the manifest is created at.

wqweto avatar Jan 20 '23 21:01 wqweto