Open lwhuang opened 9 years ago
One of the users noticed that this problem happens when Broker OLE object is accessed (atleast that's what I think this object is).
Anyway, I use a workaround in my plugin where I simply watch AmiBroker process' (Broker.exe) window handle and when it becomes 0x0 I call "System.Environment.Exit(0)" (I assume that if AmiBroker closed it's window, my plugin should be disposed). Far from ideal but works for now.
In the distant future I plan to listen for WM_CLOSE event of AmiBroker window instead of polling process continuously and then I will probably contribute this to the project.
One of the users noticed that this problem happens when Broker OLE object is accessed (atleast that's what I think this object is).
Anyway, I use a workaround in my plugin where I simply watch AmiBroker process' (Broker.exe) window handle and when it becomes 0x0 I call "System.Environment.Exit(0)" (I assume that if AmiBroker closed it's window, my plugin should be disposed). Far from ideal but works for now.
In the distant future I plan to listen for WM_CLOSE event of AmiBroker window instead of polling process continuously and then I will probably contribute this to the project.
Hi, have you by any chance implemented a solution to this issue?
@n1ghthawk only what I described above, which is monitoring of the window handle and exiting when I detect that it became 0x0. It was good enough solution for me. Unfortunately, I've lost the source code so I can't give you the snippet.
@n1ghthawk only what I described above, which is monitoring of the window handle and exiting when I detect that it became 0x0. It was good enough solution for me. Unfortunately, I've lost the source code so I can't give you the snippet.
@triforcely thanks for replying. If I figure out a way I will post it here.
Release() in Plugin.cs never been called, so when I close AB, it's not really closed, the plugin and AB instance still in task list