fixed 查找对象越界问题

This commit is contained in:
LittleBoy 2024-05-15 15:19:38 +08:00
parent 2bf992844a
commit 59776008d3
9 changed files with 26 additions and 9 deletions

Binary file not shown.

View File

@ -508,7 +508,11 @@ namespace AIProofread
var paragraph = document.Paragraphs[paragraphIndex]; var paragraph = document.Paragraphs[paragraphIndex];
var paragraphStart = paragraph.Range.Start; var paragraphStart = paragraph.Range.Start;
var Start = paragraphStart + offset; var Start = paragraphStart + offset;
var End = paragraph.Range.Start + length - 1; var End = Start + length - 1;
if(End > paragraph.Range.End)
{
End = paragraph.Range.End;
}
// 当前句子的选区 // 当前句子的选区
var fullRange = document.Range(Start, End); var fullRange = document.Range(Start, End);
@ -530,7 +534,6 @@ namespace AIProofread
{ {
bookmark = controls.AddBookmark(r, markName); bookmark = controls.AddBookmark(r, markName);
bookmark.Tag = "ai_proofread"; bookmark.Tag = "ai_proofread";
} }
else else
{ {

View File

@ -83,6 +83,7 @@ namespace AIProofread
{ {
// 注销吧 // 注销吧
Bridge.bridge.Logout(null); Bridge.bridge.Logout(null);
Globals.ThisAddIn.HideAllPanel();
} }

View File

@ -266,7 +266,8 @@ namespace AIProofread
// 默认直接打开文档 就直接创建panel // 默认直接打开文档 就直接创建panel
ShowPanel(Application.ActiveDocument, false); ShowPanel(Application.ActiveDocument, false);
} }
}catch (Exception ex2) }
catch (Exception ex2)
{ {
Logger.Log("加载默认文档失败: " + ex2.ToString()); Logger.Log("加载默认文档失败: " + ex2.ToString());
} }
@ -343,6 +344,16 @@ namespace AIProofread
this.currentDocumentTaskPane.Visible = false; this.currentDocumentTaskPane.Visible = false;
} }
/// <summary>
/// 隐藏所有面板
/// </summary>
public void HideAllPanel()
{
foreach (var item in taskPanels)
{
item.Value.Visible = false;
}
}
public void ShowLoginForm(string action) public void ShowLoginForm(string action)
{ {
@ -397,7 +408,9 @@ namespace AIProofread
{ {
// 同步登录失败信息 // 同步登录失败信息
SendMessageToWeb(p.Control, "async-logout", null); SendMessageToWeb(p.Control, "async-logout", null);
}catch (Exception ex) { }
catch (Exception ex)
{
Logger.Log("async-logout:", ex); Logger.Log("async-logout:", ex);
} }
}); });