•ComObjMissing() (write two consecutive commas instead)•ComObjUnwrap() (use ComObjValue() instead, and ObjAddRef() if needed)•ComObjEnwrap() (use ComObject() instead, and ObjAddRef() if needed)•ComObjXXX() where XXX is anything other than one of the explicitly defined ComObj functions (use ComObjActive() or ComObject() instead).

__Get / __Set / __Call only take place for a key that does not yet exist

__Set:consequences of a 'return' line being present:if not present: 'key := value' takes placeif present: 'key := place' does not take place, you can either not set the key at all, or you can set the key manually, (however if you try to set the key in the normal way you will trigger __Set and get an infinite loop, so to bypass this, use ObjRawSet)

;BASICS (CREATE/DELETE OBJECTS, GET/SET A KEY'S VALUE);OBJECT() V. ARRAY();KEY NAMES (NUMERIC V. STRING);FUNCTIONALITY OF OBJECT();REFER TO KEYS;LOOPING THROUGH AN OBJECT'S KEYS AND VALUES;A KEY CAN HAVE A VALUE OR CHILD KEYS, BUT NOT BOTH

;A KEY CAN HAVE A VALUE OR CHILD KEYS, BUT NOT BOTH;an object's key can have a value or it can have child keys but not both

obj :={}obj["a"]:="A"MsgBox, % obj.aobj["a","b"]:="AB"MsgBox, % obj.a.b ;blank ;obj.a is a value so cannot have subkeysobj["a"]:="";if we clear obj.a it can now be used as an object with child keysobj["a","b"]:="AB"MsgBox, % obj.a.b ;AB

E.g. for the nth method (0-based index), you use n*A_PtrSize e.g.:DllCall(NumGet(NumGet(icm+0)+5*A_PtrSize), Ptr,icm, UInt,vFlags, UIntP,vCountCol) ;GetColumnCountNote: the first parameter is a pointer to the interface, in this case IColumnManager, which is not mentioned in the link below:

Hi jeeswg. I think there is a lot of good stuff here, both in terms of links and the example of usage/syntax in the second post. Thanks for making the effort.

Spoiler

:offtopic: Tip on forum formatting, for links, you can specify the url inside the square brackets, eg,[url=http...]link text[/url]. It would remove some noise. I'm sure you write a script for correcting it Also, instead of [ header text ] maybe use bold [b] or [size=150] tags. There is also [hr] for making horisontal lines, saves you the =...=.

Helgef wrote::offtopic: Tip on forum formatting, for links, you can specify the url inside the square brackets, eg,[url=http...]link text[/url]. It would remove some noise. I'm sure you write a script for correcting it Also, instead of [ header text ] maybe use bold [b] or [size=150] tags. There is also [hr] for making horisontal lines, saves you the =...=.

Yes! I appreciate the content presented by jeeswg, but the formatting makes it confusing an unpleasant to read. Please don't be offended.