A log file?

Hi again,

This time, the problem is small :)
I'm using XML files to export and import a diagram. The problem is when I import, the double number of GoTextNode is on the diagram (normal ones, and empty GoTextNodes on the top left corner). I searched everywhere in the code to find where they are created, but I didn't find.
I want to know if it's possible to write in a log file every event which happen on the document (in a graphical way or directly in the code) (creation of node, move, etc.)

For this particular problem it might be easiest to look for GoTextNode constructor calls, or to set a breakpoint in the constructor.

But to answer your question, just create a GoDocument.Changed event handler. In this case you probably just want to look for the Hint == GoLayer.InsertedObject.

I can’t find the place where the GoTextNode is created.

In the consumeattributes overided method, I create a node, which is well raised by the DocumentChangedevent, then after the program exits the method and before it launches the method again, another GotextNode is created, but there's absolutely no ligne code between this two lignes in my program.
Sequentialy, the algorithm looks like :
consumesattributes()
begin
createNode => event raises
end
=> event raises
consumesattributes()
begin
createNode => event raises
end
=> event raises
etc.

So you are using GoXml. Hence you must have a transformer defined for GoTextNode. You can override the Allocate method and set a breakpoint there, and see why it is being called twice as often as there are XML elements corresponding to your nodes.