CyRax, ты недооцениваешь VB .NET Конечно можно, и намного легче,
чем в VB6.
Однако, это может быть довольно гемморойным делом, потому что велика
возможность возникновения ошибок, например, при совместном
использовании ресурсов (даже переменных типа Int32, не говоря уже о
каких-нть мудрых TCPClient или FileStream) несколькими потоками.
А если из этого цикла ещё идёт работа с Windows Forms, то это будет
полный абзац!
В общем, о недостатках многопоточной модели много писал Эплман в книге
"Переход на VB .NET: стратегии, концепции, код". Советую почитать!
Насчёт DoEvents: просто вставь куда-нибудь внутри цикла вызов этого
метода:
Application.DoEvents()
Или в полном варианте:
System.Windows.Forms.Application.DoEvents()
Смысл DoEvents в том, что программа приостанавливает работу
выполняемого кода и обрабатывает переданные окну оконные сообщения
Поставил Application.DoEvents(). Прекрасно работает.
Эти циклы форматируют текст(достачно большой), который потом загружается в RichTextBox и тут опять происходит пауза, нельзя ли этот процес как то ускорить!!!???
К сожалению, методов BeginUpdate/EndUpdate, как у ListView, у
RichTextBox нет. Возможно поможет такой трюк: перед добавлением текста
скрыть RichTextBox, а потом опять показать.
Ну ладно, ладно - я подкалываю. Но ты тоже съехал по голимому.
В PB например просто Thread Create и имя любой функции указываешь и она будет работать в отдельном потоке. И PB всё равно какие там переменные DWORD, LONG или QUAD(64 битная).
В .NET так же: передаёшь методу Start класса Thread делегат на
функцию, и она запускается в отдельном потоке.
И я сомневаюсь, что PB защищён от проблем синхронизации... Я сам
как-то статью читал о методах синфхронизации в C++... Довольно
труднопонимаемая вещь: всякие WaitForSingleObject,
WaitForMultipleIbjects, SuspendThread и прочая муть. В PB, наверное,
так же... А в .NET всё можно сделать проще, встроенными средставми, но
всё равно попотеть придётся. В общем, почитай Эплмана, он реально эту тему объяснил.
Как тебе компилятор для которого родная среда - API, а синтаксис - VB?
У него нет проблем как в VB6. Там когда начинаешь работать с АПИ начинается морока с преобразованием форматов, наладкой параметров, поисками адресов.
А на ПБ ты даже не чувствуешь перерхода между синтаксисом VB, API и ASM. Все они совместимы между собой.
Зря ты не посмотрел мой пример сраврения скорсти PB и VB. Там это чётко видно.
---
Register Max1 As Dword 'Register можно заменить и на Dim Select Case OptionNumber Case 3 Asm MOV EAX, Max1 Loop1: Asm INC i Asm CMP EAX,i Asm JNE Loop1 End Select
Посмотри как плано интегрируется переменная Max1 и метка Loop1 с АСМ. Потом ты можешь использовать эти переменные в обычных операциях. Это верно и для API тоже.