Alexander Makeev,
Можно в эмуль воткнуть нормальный отладчик типа STS?
Вид для печати
Alexander Makeev,
Можно в эмуль воткнуть нормальный отладчик типа STS?
Какие то действия дополнительные надо предпринимать что бы для внешнего плагина вызывался IConfigurable.SaveConfig ? Или еще не сохраняется?
Нет, достаточно реализовать интерфейс и конфигурация будет сохраняться, например у BetaDiskInterface таким образом сохраняются настройки LogIO и NoDelay в виде аттрибутов + настройки по каждому диску в виде отдельных нодов на каждый диск.
Только не забывай что настройки не напрямую на диск сохраняются. Вначале они сохраняются из песочницы во временный XML в памяти, потом этот XML загружается в рабочую машину, откуда и сохраняется на диск. Поэтому если устройство не умеет корректно сохраняться и загружаться, то его данные до файла не доедут :)
Вот код для теста
Скрытый текст
Код:
using ZXMAK2.Engine.Interfaces;
using ZXMAK2.Logging;
namespace ClassLibrary1
{
public class TestIConfigurable : IConfigurable, IBusDevice
{
Log log;
public TestIConfigurable()
{
log = Logger.GetLogger();
}
public void LoadConfig(System.Xml.XmlNode itemNode)
{
log.LogWarning("Load Config");
}
public void SaveConfig(System.Xml.XmlNode itemNode)
{
log.LogWarning("Save Config");
}
public void BusConnect()
{
log.LogWarning("Bus connect");
}
public void BusDisconnect()
{
log.LogWarning("Bus disconnect");
}
public void BusInit(IBusManager bmgr)
{
log.LogWarning("Bus init");
}
public int BusOrder { get; set; }
public BusCategory Category { get { return BusCategory.Other; } }
public string Description { get { return "Test"; } }
public string Name { get { return "Test"; } }
}
}
[свернуть]
Результат в логе
Скрытый текст
Warning 08:22:23.145 Load Config
Warning 08:22:23.164 Bus init
Warning 08:22:23.242 Bus connect
Warning 08:22:25.413 Bus disconnect
[свернуть]
Ну и соответственно точка останова не срабатывает в SaveConfig
да и турбо режим добавить с ручной настройкой частоты, желательно до 21мгц...больше незачем просто...
механизм своих контролов для настройки пока кривоват, сейчас для девайса ищется UserControl наследующий интерфейс IConfigScreenControl с методом Init принимающим параметр с типом конкретного девайса.
Тут есть проблема в том что если девайс наследуется от другого девайса и у обоих свои контролы для настройки, то контрол может быть выбран от предка... Так что это нужно будет переделывать.
честно говоря задумывалось что конфиг будет хранить только конфигурацию железа. Но я попробую добавить возможность девайсам инициировать сохранение конфигурации.