Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Replace, InStr - ограничения! Добавлено: 13.10.04 01:46  

Автор вопроса:  NorN | Web-сайт: replace.com.ru
Ни кто не знает, в функции replace и instr есть ограничение на максимальный размер искомой стоки?

Ответить

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

Номер ответа: 1
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #1 Добавлено: 13.10.04 05:32
В функции InStr при очень длинных строках при текстовом методе сравнения, возможно возникновение ошибки времени исполнения Stack overflow. Избежать этой ошибки можно, переведя исходную строку и образец в один регистр и перейдя на бинарное сравнение

Ответить

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



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 13.10.04 05:56
Конечно же нет.

Ответить

Номер ответа: 3
Автор ответа:
 NorN



Вопросов: 7
Ответов: 15
 Web-сайт: replace.com.ru
 Профиль | | #3
Добавлено: 13.10.04 08:00
Так и думал... А replace - аналогично, да?

Ответить

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



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 13.10.04 08:52
Ограничение в смысле, бывает укажешь ему такую строку, что он и за минуту не справляется... вот где это ограничение :(

Ответить

Номер ответа: 5
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #5 Добавлено: 13.10.04 10:10
Пробовал 10 Мб строку - спокойно обрабатывает и InStr и Replace. Попробовал 100 Мб - Винда завопила, что мало памяти, программа зависла. Но это уже по другому поводу.

Ответить

Номер ответа: 6
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #6
Добавлено: 13.10.04 12:23
Ага, VB ж строки через OLE API создаёт. А тому локальная память пофигу. Хотя это только предположение, но скорее всего любые VB-строки помещаются в куче (HEAP). Я так думаю. Хотя раз Mihalыch говорит что Stack Overflow, то может быть это и не так.

Ответить

Номер ответа: 7
Автор ответа:
 NorN



Вопросов: 7
Ответов: 15
 Web-сайт: replace.com.ru
 Профиль | | #7
Добавлено: 15.10.04 20:43
у меня такая проблема:
эта строка - Replace text,find,strReplace,1,,vbTextCompare при длинном значении find отказывается заменяться! Причём find содержит строку чуть больше 1000 символов.
пробовал реализовать свою функцию замены, никак... те же проблемы, только в InStr.
Может я что-то не так делаю??? :-| Вообще не представляю в чём проблема...

Ответить

Страница: 1 |

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



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