IvanB
|
Date: 5/17/2013
UsilaDobry Доброго дня. Если запускаю проект, вывожу на график, а потом закрываю окно, то срабатывает безопасное отключение, основной поток останавливается. А вот если запускаю проект, потом запускаю стратегию и следом закрываю окно, или останавливаю стратегию, а потом закрываю окно, то основной поток не останавливается. Я добавил в основной код следующий раздел, но это не помогает... Code
protected override void OnClosing(CancelEventArgs e)
{
try
{
if (_levelSarStrategy != null)
{
_levelSarStrategy.Stop();
}
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
base.OnClosing(e);
}
Что еще можно придумать?.. Можно попробовать вызвать метод Dispose у стратегии при закрытии окна.
|
|
|
|
|
UsilaDobry
|
Date: 5/18/2013
IvanB Можно попробовать вызвать метод Dispose у стратегии при закрытии окна.
Добавил в этот код, первые два запуска нормально, потом опять перестал основной поток останавливаться. Code
protected override void OnClosing(CancelEventArgs e)
{
try
{
if (_levelSarStrategy != null)
{
_levelSarStrategy.Stop();
_LevelSarStrategy.Dispose();
}
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
base.OnClosing(e);
}
|
|
Thanks:
|
|
|
|
|
IvanB
|
Date: 5/19/2013
UsilaDobry IvanB Можно попробовать вызвать метод Dispose у стратегии при закрытии окна.
Добавил в этот код, первые два запуска нормально, потом опять перестал основной поток останавливаться. Code
protected override void OnClosing(CancelEventArgs e)
{
try
{
if (_levelSarStrategy != null)
{
_levelSarStrategy.Stop();
_LevelSarStrategy.Dispose();
}
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
}
base.OnClosing(e);
}
Какие-то ресурсы не освобождаются ... В поиске проблемы может помочь ANTS Memory Profiler или dotTrace.
|
|
|
|
|
UsilaDobry
|
Date: 5/20/2013
IvanB В поиске проблемы может помочь ANTS Memory Profiler или dotTrace.
ANTS 495$, а dotTrace 599$...дешевле ничего нет? [blink] Вспомогательные программы, а стоят как студия... Скачал ANTS триальную версию на 14 дней...теперь бы еще понять как ей пользоваться, я то в англицком ни бум-бум...
|
|
Thanks:
|
|
|
|
|
IvanB
|
Date: 5/20/2013
UsilaDobry ANTS 495$, а dotTrace 599$...дешевле ничего нет? [blink] Вспомогательные программы, а стоят как студия...
Скачал ANTS триальную версию на 14 дней...теперь бы еще понять как ей пользоваться, я то в англицком ни бум-бум... Можете прислать проект, я по возможности, посмотрю.
|
|
|
|
|
casper-ss
|
Date: 6/22/2013
Такая же проблема...замучился через диспетчер программ процесс убивать...как с ним бороться?весь код перепроверил, все равно после запуска стратегии висит процесс(редко бывает когда благополучно завершается, но бывает)...я так понял это баг библиотеки?
|
|
Thanks:
|
|
|
|
|
Самунджян Артем
|
Date: 6/23/2013
|
|
|
|
casper-ss Такая же проблема...замучился через диспетчер программ процесс убивать...как с ним бороться?весь код перепроверил, все равно после запуска стратегии висит процесс(редко бывает когда благополучно завершается, но бывает)...я так понял это баг библиотеки?
Это связано с потоком окна дополнительного (менеджер стратегий или логирование). Решается это следующим образом Code
//переопределяем метод закрытия основного окна
protected override void OnClosing(CancelEventArgs e)
{//закрываем все дополнительные окна
//отключаем функцию "сложения при нажатии на крест"
_tradesWindow.DeleteHideable();
//окончательно закрываем окно
_tradesWindow.Close();
}
До этого соответсвенно (к примеру в конструкторе основного окна): Code
public MainWindow()
{
InitializeComponent();
_tradesWindow.MakeHideable();
}
По сути, что получается. Приложение ваше закрыватся (основное окно), но процесс не убивается. Из-за того что дополнительное окно как бы сложено (не путать с визуальным сложением). Чтобы основной процесс закрылся, нужно, чтобы все исходящие из него, аналогично были закончены. Код, который я привел можно посмотреть в Samples/Quik/Sample. Там огромное количество дополнительных окон [biggrin]
|
|
Thanks:
|
|
|
|
|
casper-ss
|
Date: 7/1/2013
|
|
|
|
Самунджян Артем casper-ss Такая же проблема...замучился через диспетчер программ процесс убивать...как с ним бороться?весь код перепроверил, все равно после запуска стратегии висит процесс(редко бывает когда благополучно завершается, но бывает)...я так понял это баг библиотеки?
Это связано с потоком окна дополнительного (менеджер стратегий или логирование). Решается это следующим образом Code
//переопределяем метод закрытия основного окна
protected override void OnClosing(CancelEventArgs e)
{//закрываем все дополнительные окна
//отключаем функцию "сложения при нажатии на крест"
_tradesWindow.DeleteHideable();
//окончательно закрываем окно
_tradesWindow.Close();
}
До этого соответсвенно (к примеру в конструкторе основного окна): Code
public MainWindow()
{
InitializeComponent();
_tradesWindow.MakeHideable();
}
По сути, что получается. Приложение ваше закрыватся (основное окно), но процесс не убивается. Из-за того что дополнительное окно как бы сложено (не путать с визуальным сложением). Чтобы основной процесс закрылся, нужно, чтобы все исходящие из него, аналогично были закончены. Код, который я привел можно посмотреть в Samples/Quik/Sample. Там огромное количество дополнительных окон [biggrin] Неее...не из за этого...я это все сразу проверил...все окна закрываюся, причем с очередью закрытия тоже все в порядке...весит какой то другой процесс...и тот который связан со стратегией...потому что такая проблема возникает только после нажатия кнопки старт, и то не всегда, 3-4 раза процесс остается активным и 1 раз закрывается...вот так...
|
|
Thanks:
|
|
|
|
|
Самунджян Артем
|
Date: 7/1/2013
casper-ss Неее...не из за этого...я это все сразу проверил...все окна закрываюся, причем с очередью закрытия тоже все в порядке...весит какой то другой процесс...и тот который связан со стратегией...потому что такая проблема возникает только после нажатия кнопки старт, и то не всегда, 3-4 раза процесс остается активным и 1 раз закрывается...вот так...
присылайте проект на lesson@stocksharp.com! Надеюсь ничего секретного в стратегии нет [biggrin]
|
|
Thanks:
|
|
|
|
|
casper-ss
|
Date: 7/2/2013
Самунджян Артем casper-ss Неее...не из за этого...я это все сразу проверил...все окна закрываюся, причем с очередью закрытия тоже все в порядке...весит какой то другой процесс...и тот который связан со стратегией...потому что такая проблема возникает только после нажатия кнопки старт, и то не всегда, 3-4 раза процесс остается активным и 1 раз закрывается...вот так...
присылайте проект на lesson@stocksharp.com! Надеюсь ничего секретного в стратегии нет [biggrin] Увы...есть...точнее не я один собственник идеи...:))))не могу ей распоряжаться один...:)
|
|
Thanks:
|
|
|
|