private void WaitAndCloseDdeWindow() { var wnd = WaitForOpen(() => DdeWindows, "Открытие DDE окна"); var ddeWindow = new DdeWindow(wnd); WaitFor(() => { ddeWindow.Window.Command(ddeWindow.BeginOutBtn); return ddeWindow.BeginOutBtn.Enabled; }, "Запуск DDE вывода"); CloseDde(ddeWindow); }
private void CloseDde(DdeWindow ddeWindow) { if (ddeWindow == null) throw new ArgumentNullException(nameof(ddeWindow)); ddeWindow.Window.Command(ddeWindow.CloseBtn); WaitForClose(() => DdeWindows, "Закрытие DDE окна"); }
private static void StopDdeOutput(DdeWindow ddeWindow) { if (ddeWindow == null) throw new ArgumentNullException(nameof(ddeWindow)); if (!ddeWindow.BeginOutBtn.Enabled) { WaitFor(() => { ddeWindow.Window.Command(ddeWindow.StopOutBtn); return !ddeWindow.BeginOutBtn.Enabled; }, "Остановка DDE вывода"); } }
private void StopDde(DdeWindow ddeWindow) { StopDdeOutput(ddeWindow); CloseDde(ddeWindow); }
private void StartDde(DdeWindow ddeWindow, DdeSettings ddeSettings) { if (ddeWindow == null) throw new ArgumentNullException(nameof(ddeWindow)); if (ddeSettings == null) throw new ArgumentNullException(nameof(ddeSettings)); ddeWindow.DdeServer = Adapter.DdeServer; ddeWindow.Row = 1; ddeWindow.Column = 1; ddeWindow.StartFromRow = 1; ddeWindow.OutAfterCreate = false; ddeWindow.OutAfterCtrlShiftL = false; ddeWindow.RowsCaption = ddeSettings.RowsCaption; ddeWindow.ColumnsCaption = ddeSettings.ColumnsCaption; ddeWindow.FormalValues = ddeSettings.FormalValues; ddeWindow.EmptyCells = ddeSettings.EmptyCells; StopDdeOutput(ddeWindow); WaitFor(() => { ddeWindow.Window.Command(ddeWindow.BeginOutBtn); return ddeWindow.BeginOutBtn.Enabled; }, "Запуск DDE вывода"); CloseDde(ddeWindow); }