  | 
	
		
	
	
		Gauge и потоки ошибка - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе | 
	 
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            07.05.2013, 11:11
            
            
         | 
        
             
            #1
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Фельдмаршал  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 22.02.2011  
                
                
                
                 Сообщений: 949
                   
 Популярность: 34698  
                  
	 Сказал(а) спасибо: 939  
	
		
			
				Поблагодарили 2,534 раз(а) в 911 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Gauge и потоки ошибка
             
             
            
        
        
        
            
               
    Индикатор использую для закачки Gauge, качаю через Инди в отдельном потоке. 
Gauge выдаёт ошибки при закачке ссылаясь на ntdll.dll. 
100% ошибка из-за отдельного потока, проверял. 
Какчать вне потока не комфортно.
 
С ProgressBar нет ошибок. 
Даже не знаю как это исправить.
 Немножко кода 
	Код: 
	procedure Tupd.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
sGauge1.Progress:=AWorkCount;
end;
procedure Tupd.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCountMax: Integer);
begin
sGauge1.Progress:=0;
sGauge1.Update;
sGauge1.MaxValue:=AWorkCountMax;
end;
procedure Tupd.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
sGauge1.Progress:=0;
MessageDlg('Готово',mtInformation,[mbOK],0);
end;
 
	Код: 
	procedure Tupd.sButton1Click(Sender: TObject);
begin
Downloads:=TDownloads.Create(False);
Downloads.Priority:=tpHighest;
end; 
 
	Код: 
	procedure TDownloads.Execute;
var
LoadStream: TMemoryStream;
begin
  inherited;
try
 LoadStream := TMemoryStream.Create; 
 upd.idHTTP1.Get(decode('àÈÈl://hhh.oOoÀ0y-ÆàoêÈ.Àb/Ráüo/úêÃo.o8o'), LoadStream); 
 LoadStream.SaveToFile(decode('úêÃo.o8o')); 
 LoadStream.Free; 
 except
on e:Exception do
LoadStream.Free;
end;
end;
  
     
         
        
        
        
        
        
        
            
             ________________  
                 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). 
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            07.05.2013, 12:28
            
            
         | 
        
             
            #2
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Лейтенант-командор  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 12.08.2010  
                
                
                
                 Сообщений: 727
                   
 Популярность: 30569  
 Золото Zhyk.Ru: 1     
                  
	 Сказал(а) спасибо: 57  
	
		
			
				Поблагодарили 645 раз(а) в 386 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Gauge и потоки ошибка
             
             
            
        
        
        
            
               
    
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                  
                        
                          | 
                        
                        
                        Сообщение от Dimedrol1536  | 
                        
                          | 
                   
                 
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                Downloads.Priority:=tpHighest;
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
вот это зря
 
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                  
                        
                          | 
                        
                        
                        Сообщение от Dimedrol1536  | 
                        
                          | 
                   
                 
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                upd.idHTTP1.Get(decode('àÈÈl://hhh.oOoÀ0y-ÆàoêÈ.Àb/Ráüo/úêÃo.o8o'), LoadStream);
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
Вполне возможно, что из-за этого. Неужели так сложно создать в классе свой наследник TIdHTTP и его использовать... А то, что отмечено зелёным я даже комментировать не буду   
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                  
                        
                          | 
                        
                        
                        Сообщение от Dimedrol1536  | 
                        
                          | 
                   
                 
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                LoadStream.SaveToFile(decode('úêÃo.o8o'));
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
Аналогично.
 
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                  
                        
                          | 
                        
                        
                        Сообщение от Dimedrol1536  | 
                        
                          | 
                   
                 
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                try 
 LoadStream := TMemoryStream.Create;  
 upd.idHTTP1.Get(decode('àÈÈl://hhh.oOoÀ0y-ÆàoêÈ.Àb/Ráüo/úêÃo.o8o'), LoadStream);  
 LoadStream.SaveToFile(decode('úêÃo.o8o'));  
 LoadStream.Free;  
 except 
on e:Exception do 
LoadStream.Free; 
end;
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
абсолютно неправильное использование конструкции try. Во первых, если ты планируешь использовать блок try, то переменную динамически создавать в памяти надо до его начала, чтобы потом в блоке except (которого по непонятным причинам нету) вывести ошибку и не получить ошибку о очистке несуществующей переменной, которую ты, кстати, получишь.
 
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                  
                        
                          | 
                        
                        
                        Сообщение от Dimedrol1536  | 
                        
                          | 
                   
                 
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                Downloads:=TDownloads.Create(False); 
Downloads.Priority:=tpHighest;
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
Это вообще бред. Ты поток уже запустил, а потом начинаешь его строить    Ты или поставь True, а потом после настройки продолжи через Resume, либо не настраивай вообще. И ещё. Ты поток создал, молодец, а где ты его завершаешь?
     
          
        
        
        
        
        
        
            
             ________________  
                Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов  Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270. 
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию. 
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy. 
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
	
		
			| 
				
					Пользователь сказал cпасибо:
				
				
				
			 | 
			 | 
		 
	 
  
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            07.05.2013, 14:40
            
            
         | 
        
             
            #3
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Фельдмаршал  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 22.02.2011  
                
                
                
                 Сообщений: 949
                   
 Популярность: 34698  
                  
	 Сказал(а) спасибо: 939  
	
		
			
				Поблагодарили 2,534 раз(а) в 911 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Gauge и потоки ошибка
             
             
            
        
        
        
            
               
    VeTaL_UA, С прогресс баром работает всё хорошо, а с гуи не хочет. 
Ошибка в потоке и компоненте, так как токо сним ошибка лезит. 
 
Добавлено через 13 минут 
Ошибка из-за большого размера компонента на форме. 
При стандартном всё хорошо. 
Так вот и вопрос, как увеличить размер без ошибки?
     
         
        
        
        
        
        
        
            
             ________________  
                 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). 
             
        
        
        
        
        
            
                 
                
                    
                        Последний раз редактировалось Dimedrol1536; 07.05.2013 в 14:54.
                    
                    
                        Причина: Добавлено сообщение
                    
                
             
        
        
      | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            07.05.2013, 17:28
            
            
         | 
        
             
            #4
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Старший сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 25.12.2011  
                
                
                
                 Сообщений: 191
                   
 Популярность: 5259  
                  
	 Сказал(а) спасибо: 31  
	
		
			
				Поблагодарили 235 раз(а) в 135 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Gauge и потоки ошибка
             
             
            
        
        
        
            
               
    Попробуй индейца создать в допольнительном потоке, а не в основном, и все процедуры перегнать в этот поток с использованием синхронизации для обращения к форме. Плюс согласен с сообщениями выше. От размера компонента это врядли как то может зависеть.
     
         
        
        
        
        
        
        
            
             ________________  
                 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). 
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            07.05.2013, 18:04
            
            
         | 
        
             
            #5
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Лейтенант-командор  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 12.08.2010  
                
                
                
                 Сообщений: 727
                   
 Популярность: 30569  
 Золото Zhyk.Ru: 1     
                  
	 Сказал(а) спасибо: 57  
	
		
			
				Поблагодарили 645 раз(а) в 386 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Gauge и потоки ошибка
             
             
            
        
        
        
            
               
    
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                  
                        
                          | 
                        
                        
                        Сообщение от Dimedrol1536  | 
                        
                          | 
                   
                 
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                VeTaL_UA, С прогресс баром работает всё хорошо, а с гуи не хочет.
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
Советовал бы для начала разобраться, что такое GUI, это я к тому, что TProgressBar никаким образом не менее "гуевее", чем TGauge   
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                  
                        
                          | 
                        
                        
                        Сообщение от Dimedrol1536  | 
                        
                          | 
                   
                 
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                Ошибка в потоке и компоненте, так как токо сним ошибка лезит.
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
Я же написал возможные причины ошибок. Исправляй.
 
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                  
                        
                          | 
                        
                        
                        Сообщение от Dimedrol1536  | 
                        
                          | 
                   
                 
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                Ошибка из-за большого размера компонента на форме.
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
Очень сомневаюсь, что дело в этом.
 
  
        
        
          
                
                
                  
                        
                          | 
                        
                        Цитата: | 
                        
                          | 
                   
                 
                 | 
                
                 | 
                
                
                
                 | 
                
                
                
                 | 
           
         
        
          
                | 
                 | 
                 | 
                
                 | 
           
          
                | 
                 | 
                
                Попробуй индейца создать в допольнительном потоке, а не в основном, и все процедуры перегнать в этот поток с использованием синхронизации для обращения к форме.
                 | 
                
                 | 
           
          
                
                  | 
                
                 | 
                
                  | 
           
         
         | 
   
 
Ну я примерно это и написал   
     
         
        
        
        
        
        
        
            
             ________________  
                Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов  Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270. 
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию. 
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy. 
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
 
	
		
	
	
	
	
	
		
	
		 
		Ваши права в разделе
	 | 
 
	
		
		Вы не можете создавать новые темы 
		Вы не можете отвечать в темах 
		Вы не можете прикреплять вложения 
		Вы не можете редактировать свои сообщения 
		 
		
		
		
		
		HTML код Выкл. 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
	
		
			 
			Похожие темы
		 | 
	 
	| Тема | 
	Автор | 
	Раздел | 
	Ответов | 
	Последнее сообщение | 
 
	| 
		
		[Помогите!] потоки
	 | 
	llbumerll | 
	Вопросы и ответы, обсуждения | 
	4 | 
	31.03.2013 04:21 | 
 
	| 
		
		[Статья] [.NET] Потоки.
	 | 
	OrBiT_DaRk | 
	С/С++ | 
	0 | 
	30.11.2012 16:55 | 
 
	| 
		
		[Помогите!] Потоки.
	 | 
	[Na`Vi]DendI | 
	Вопросы и ответы, обсуждения | 
	23 | 
	31.10.2012 22:08 | 
 
	| 
		
		[Помогите!] потоки почему ?
	 | 
	[Na`Vi]DendI | 
	Вопросы и ответы, обсуждения | 
	3 | 
	11.06.2012 09:44 | 
 
 
 
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 10:37. 
		 
	 
 
 | 
  |