amibroker icon indicating copy to clipboard operation
amibroker copied to clipboard

Release() in Plugin.cs never been called

Open lwhuang opened this issue 9 years ago • 4 comments

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

lwhuang avatar Jul 22 '15 06:07 lwhuang

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.

triforcely avatar Oct 01 '18 08:10 triforcely

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 avatar Sep 06 '20 15:09 n1ghthawk

@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 avatar Sep 08 '20 20:09 triforcely

@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.

n1ghthawk avatar Sep 28 '20 14:09 n1ghthawk