Hi Again Alex . I didn't understand one word of c++ code you provided, It is my fault , no offence , I am not that smart . I said to myself let's just use Alex's Arx compiled file and implement it in my project. Below code is what I did . But it doesn't work. what did I do wrong ? .
Let me rephrase myself to avoid any confustion.
this is how I implement this for Attedit command. When commandStart triggers . If the command is Attedit I add handler for objectmodify event.
If object had any changes then I do my stuff . And then when CommandEnded triggers ,I remove ObjectModify handler.
so basically Commandstart and Commandend events always running. But ObjectModify doesn't run always.
Now let's go back to your solution for properties palette. How would I know user start changing an atrribute so I active the objectmodify event ?
Please give me some light here . Thanks.
Public Sub Initialize() Implements IExtensionApplication.Initialize
SystemObjects.DynamicLinker.LoadModule("c:\OPMTest2010x64.arx", False, False)
Properties_palette_changed_helper.Start_monitoring_pallette()
End Sub
Public Sub Terminate() Implements IExtensionApplication.Terminate
End Sub
Public Class Properties_palette_changed_helper
<DllImport("OPMTest2010x64.arx", CallingConvention:=CallingConvention.Cdecl, EntryPoint:="IsOPMChangeProps")> _
Private Shared Function IsOPMChangeProps2010x64() As Integer
End Function
Public Shared Sub Start_monitoring_pallette()
Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage(vbLf & IsOPMChangeProps2010x64.ToString)
End Sub
End Class