public static MainForm form;
public static Zulu.IPluginConnector m_conn;
public static Zulu.IZulu m_app;
public static MapDoc;
public static IControlBar m_ControlBar;
public bool ConnectZuluPlugin(object conn)
{
try
{
m_conn = conn as Zulu.IPluginConnector;
m_app = m_conn.Zulu;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return true;
}
public void DisconnectZuluPlugin()
{
m_conn.Unlock();
m_app = null;
m_conn = null;
form = null;
m_mapdoc = null; // Объект документа зула
m_ControlBar = null; /// панель Ппоиска
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
}
public void OpenForm()
{
try
{
if (form == null)
{
Zulu.IDocument document;
document = m_app.ActiveDocument;
if (document != null && document.Type == eDocType.eMapDoc)
{
m_mapdoc = document.NativeDoc as ZuluLib.MapDoc;
form = new MainForm();
m_ControlBar = m_app.CreateControlBar("Поиск по улицам", (int)eControlBarStyle.barVisible | (int)eControlBarStyle.barDockable);
m_ControlBar.EmbedWindow(form.Handle.ToInt32());
m_ControlBar.SetMRUPosEntry("plugin:streetfind:form");
form.Show();
m_conn.Lock();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
1) проблема после закрытия формы не возможно открыть приложение заново пока Zulu не закрыть.
2) Когда помещаем форму в контрол бар а потом его перемещаем к другим. При попытке вытащить обратно Приложение вместе с ZULU зависают.
Что можете посоветовать?
public static Zulu.IPluginConnector m_conn;
public static Zulu.IZulu m_app;
public static MapDoc;
public static IControlBar m_ControlBar;
public bool ConnectZuluPlugin(object conn)
{
try
{
m_conn = conn as Zulu.IPluginConnector;
m_app = m_conn.Zulu;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return true;
}
public void DisconnectZuluPlugin()
{
m_conn.Unlock();
m_app = null;
m_conn = null;
form = null;
m_mapdoc = null; // Объект документа зула
m_ControlBar = null; /// панель Ппоиска
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
}
public void OpenForm()
{
try
{
if (form == null)
{
Zulu.IDocument document;
document = m_app.ActiveDocument;
if (document != null && document.Type == eDocType.eMapDoc)
{
m_mapdoc = document.NativeDoc as ZuluLib.MapDoc;
form = new MainForm();
m_ControlBar = m_app.CreateControlBar("Поиск по улицам", (int)eControlBarStyle.barVisible | (int)eControlBarStyle.barDockable);
m_ControlBar.EmbedWindow(form.Handle.ToInt32());
m_ControlBar.SetMRUPosEntry("plugin:streetfind:form");
form.Show();
m_conn.Lock();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
1) проблема после закрытия формы не возможно открыть приложение заново пока Zulu не закрыть.
2) Когда помещаем форму в контрол бар а потом его перемещаем к другим. При попытке вытащить обратно Приложение вместе с ZULU зависают.
Что можете посоветовать?