![]()  | 
	
 
  | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Прошу помощи как начинающий. 
		
	
		
		
		
		
		
	
		
		
	
	
	Ниже выкладываю обобщенные фрагменты из программы. Есть класс TCSyn и поток MyThread. В потоке выполняется процедура VaChar. Скажу сразу программа компилируется без ошибок и выполняется. Но... Но когда запускается поток в процедуре VaChar при выполнении Count:= Count+1; происходит ошибка и процесс останавливается. Похоже, что поток не видит переменных описанных в классе TCSyn. Прошу подсказать как исправить это и что делал не правильно. Код: 
	TCSyn = class(TComponent)  //TComponent
  Public
   
    inp          : Tinp;          
    FString    : String;         Сообщение
    Count      : integer;
    Tek          : Double;        
    TimeTek   : Double;        
    Constructor Create(AOwner:TComponent);override;     
    Destructor  Destroy; override;                         
   
    procedure VaChar;
   
  Protected
 
  Private
 End;
-------------------------------------
 type
 MyThread=class(TThread)
 private{private declaration}
  
    pser:  TCSyn;
 protected
 procedure execute;override;
 public
 end;
 var MyThr: MyThread;
-------------------------------------------------------------------------
procedure MyThread.execute;
 var S: string; i:integer;
begin
             Synchronize(pser.VaChar);
 
end;
------------------------------------------------------------------------
procedure TCSyn.VaChar;
var S:String; 
begin
  Count:= Count+1;     
end; |