Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: DoEvents vb.net Добавлено: 04.04.03 01:46  

Автор вопроса:  Chill | ICQ: 554200 

Как в юзать сабж, у меня процедура замены текста. Если я меняю большой объем данных прога подвисает, ну не совсем подвисает, она просто медленно выполняется, как мне досрочно завершить сей процесс? Все это в проге типа нотпада.

Private Sub bttnReplaceAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnReplaceAll.Click

Dim curPos, curSel As Long

curPos = frmMain.txtEditor.SelectionStart

curSel = frmMain.txtEditor.SelectionLength

frmMain.txtEditor.Text = Replace(frmMain.txtEditor.Text, Trim(txtSearch.Text), Trim(txtReplace.Text))

frmMain.txtEditor.SelectionStart = curPos

frmMain.txtEditor.SelectionLength = curSel

End Sub

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 04.04.03 10:17

Application.DoEvents

Кажется, на такой вопрос я вчера отвечал...

Ответить

Номер ответа: 2
Автор ответа:
 Chill



ICQ: 554200 

Вопросов: 101
Ответов: 343
 Профиль | | #2 Добавлено: 04.04.03 13:18

да это я понял, я не понимаю куда код писать, во время которого действует прерывание

Ответить

Номер ответа: 3
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 05.04.03 08:04
В твоём коде - даже не знаю. Когда VB встречает вызов DoEvents, он приостанавливает текущий код и обрабатывает события, выполняет перериосвку формы и компонентов, а потом опять продолжает выполнять код. Обычно DoEvents ставят в цикле. Но в твоём случае вся замена проходит вызовом одной функции Replace...

Ответить

Номер ответа: 4
Автор ответа:
 Chill



ICQ: 554200 

Вопросов: 101
Ответов: 343
 Профиль | | #4 Добавлено: 05.04.03 12:33

Вот и я не знаю. Тут просто друг потестил программу на "устойчивост" она виснет, когда вводим 111111111111111111, а потом заменяем 1 на 11111111111111 и т.д.

Вот я и подумал, что doEvents - единственный выход, только, наверно, придется функцию замены менять, а это уже медленнее работать будет =(

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам