Страница: 1 | 
		
		 
			   
			 
			 Studen правилно поднял тему. У меня аналогичная сит-ция.  Вкратце суть: есть гигантский массив строк и нужно найти строку отвечаюшую каким-то требованиям. На басике Do... While длится несколько минут. На PB неск. секунд. Все хорошо, все замечательно. НО. Пока DLLка не закончит цикл, прога на VB "замерзает" наглухо.  Первое что сделал в цикле PB внедрил   SetWindowText Hwnd(где Hwnd Text1.wnd на форме VB) , [счетик выполнения]"   ноль эмоций, возвращает [счетик выполнения], только после завершения.  Потом добавил к этой байде ...DOEVENTS - заработало!  Программа стала перетаскиваться мышкой в момент выполнения, в Text1 виден ход работы. Но, блин, скорость выполнения упала в несколько раз, т.е. стала как у басика.  Гуру кодерных наук, может кто подскажет, че делать то. А иначе отпадает  нужда в PB. P.S. То что CyRax предлагал - вводить дополнительную внешнюю функцию и одну глобальную переменную - в итоге все тоже самое. Пока DLLка занимается своим циклом "прошу меня не беспокоить". 
			 
			 Можно вынести твой цикл в отдельный поток, в PB есть функция для создания потоков, по моему Create Thread, посмотри в хелпе. Она как раз и создана для таких ситуаций как у тебя, примеры поищи на форуме  http://powerbasic.com/support/forums/Ultimate.cgi Если правильно понял, то при каждом проходе цикла выводится информация в текстбокс. Можно это дело значительно ускорить, если выводить информацию не в каждом проходе, а например один раз в 100 проходов цикла, например: IF loopCounter MOD 100 = 0 THEN Ну и соответственно, если делаешь вывод ещё реже, то работает ещё быстрее. Не видел кода, поэтому наугад: если делаешь массиву REDIM, то можно тоже не каждый раз, а один раз на N проходов. Тоже ускоряет  Ай, да, Alex! Ай, да, молодца! Спасибо за подсказку. Получилось все, что хотел. И индикация процесса и скорость  выполнения несоизмерима с VB. Использовал THREAD CREATE ... Одна и таже задача на VB - 56 сек, на PV - 3,5 сек! Уже можно "беспокоить"?  Если у тебя не получилось что то из предложенного мной, то это исключительно из за твоей лени (или некорректно поставленного вопроса). Можешь скачать с моего сайта прогу сравнения скоростей PB и VB (ту что для VB можешь не качать). Там есть пример потока. Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: И снова Процент выполнения DLL
     
    
Добавлено: 24.03.04 13:11
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
     vb60
 vb60
      
       
  
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 4
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа: alex
 alex





Вопросов: 84
Ответов: 453
      
 Профиль |  | #1
       
Добавлено:  25.03.04 15:44
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа: cresta
 cresta


Вопросов: 117
Ответов: 1538
      
 Профиль |  | #2
       
Добавлено:  25.03.04 20:49
       
    
       
  
 
    
                    'вывод информации
END IF
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа: vb60
 vb60


Вопросов: 3
Ответов: 1
      
 Профиль |  | #3
       
Добавлено:  26.03.04 09:07
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа: @CyRax  PTR
 @CyRax  PTR







ICQ: 204447456 
Вопросов: 28
Ответов: 664
      
 Web-сайт:  
 Профиль |  | #4
      
Добавлено:  28.03.04 04:53