![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Есть RadioGroup1 в нем генерирую кнопки 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	Ocenka := TmpStr;
      I := RadioGroup1.Items.Add(Ocenka);
      RBtn := TRadioButton(RadioGroup1.Controls[i]);
     SetWindowLong(RBtn.Handle,GWL_STYLE,GetWindowLong(RBtn.Handle,GWL_STYLE) or BS_MULTILINE);
      RBtn.OnKeyDown:=RadioKeyDown; где RadioKeyDown Код: 
	procedure TMasterOfInspections.RadioKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key in [VK_RETURN, VK_SPACE]) then Button1.Click; if (Key in [VK_LEFT, VK_BACK]) then Button5.Click; end; На нажатие Enter ругается ошибкой памяти Access violation at address...  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 1. А у Button1 событие Onclick есть? 
		
	
		
		
		
		
		
	
		
		
	
	
	2. может лучше сразу вызывать Button1Click(Self)?  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Да. Есть событие. Делал и так все одно - ошибка памяти выскакивает 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 ЗЫ. Кстати, обычно такая ошибка происходит при обращении к несозданному объекту (одна из самых частых ошибок новичков).  | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 в том то и прикол. 
		
	
		
		
		
		
		
	
		
		
	
	
	вот пытаюсь ее отловить. завернул событие Button1Click в try except showmessage('where are u'); end; но ничего не выдает.  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Выложи побольше кода, так на кофейной гуще сложно гадать. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Дело еще в том что я на кнопке Button1, которую я жму. Я обновляю список радиокнопок на котором у меня типа обрабатывается событие я его  
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	    while RadioGroup1.Items.Count > 0 do  
       RadioGroup1.Items.Delete(0);Код: 
	Ocenka := TmpStr;
      I := RadioGroup1.Items.Add(Ocenka);
      RBtn := TRadioButton(RadioGroup1.Controls[i]);
     SetWindowLong(RBtn.Handle,GWL_STYLE,GetWindowLong(RBtn.Handle,GWL_STYLE) or BS_MULTILINE);
      RBtn.OnKeyDown:=RadioKeyDown; | 
| 
		 
			 
			#8  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Ошибка в 7-й строчке. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#9  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 что за 7-ая строчка? Конкретизируйте пожалуйста. 
		
	
		
		
		
		
		
	
		
		
	
	
	Cейчас пытался обмануть. Cделал на FormKeyDown Код: 
	procedure TForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_ESCAPE) then Close;
  if (Key = VK_RETURN) and Assigned(Screen.ActiveControl)
    and (Screen.ActiveControl is TRadioButton) then Button1.Click;
end; | 
| 
		 
			 
			#10  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Ошибка на 7-й строке, сразу после закомментированной строчки. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 |