Цитата:
	
	
		| 
			
				 Сообщение от ProDaNTe 
				...А это что не будет обращение к картинке или под обращением понимается запрос от нёё информации типа как .Canvas.Pixels? Хотя когда я присваиваю к динамическому созданному объекту imageN.Picture:= image1.Picture, то я же тоже обращаюсь к статике или нет? Или надо создавать объекты в не потока? 
Спасибо заранее, хочется разобраться раз и на всегда!!!... 
			
		 | 
	
	
 
Ну тогда с самого начала о потоках.
Объявление потомка от TThread
	Код:
	...
type
TCapth = class(TThread)
private
   MyImage: TImage;
protected
    procedure Execute; override; // Выполняется в потоке
    procedure ShowResult; // Выводная процедура из потока
//   Если в основной поток нужно вернуть разные рисунки, то тогда
//   ShowResult задаётся с параметрами
//  procedure ShowResult(img: TImage); 
end;
... 
 Начало работы потока
Picture:= Picture это всёравно что a:= b, т.е. передается лишь копия изображения, его Canvas.Pixels не зависят от оригинала и делай с ним что хошь...
	Код:
	procedure TCapth.Execute;
begin
MyImage.Picture:= Form1.Image1{iz} .Picture;
 x:= MyImage.Width -1;
 y:= MyImage.Height-1;
...
// ну и так далее
...
end; 
 Из Execute всё же возможен вывод результатов, если что-то надо в основной поток программы вернуть прям во время исполнения потока, то в её тело добавляется строчка 
	Код:
	...
Synchronize(ShowResult);
...
 
 
А вот и сама выводная процедура
	Код:
	...
procedure TCapth.ShowResult;
begin
...
// напр.
Form1.Image1{iz}.Picture:= MyImage.Picture;
...
end;
... 
 т.е. так обновиться рисунок имиджа на основной форме.
Из всего этого такое заключение - с потоками надо правильно обращаться и тогда всё будет работать.