InDesignプラグインでアンカー付きオブジェクト作成時の注意

いつも忘れてしまうのでメモ:

プラグインでアンカー付きオブジェクトを作成する時、処理は終了するが「触れないアイテム(幽霊のようなアイテム)」が出来てしまうことがある。

アンカー付きの処理をする前に、フレームを親から切り離しておく必要がある。

IHierarchyUtils->RemoveFromHierarchy

community.adobe.com

SnpManipulateInline.cpp のChangeToInline の説明:

frameUIDRef frame to be made into an inline. Note this frame must not be parented on any hierarchy(IHierarchy). If you have a frame that is process kRemoveFromHierarchyCmdBoss before calling this method.

frameUIDRef インライン化されるフレーム。 このフレームは は、どの階層(IHierarchy)の親にもなっていないこと(must)。処理中のフレームがある場合 このメソッドを呼び出す前に kRemoveFromHierarchyCmdBoss を実行してください。