triwire, поражает отсутствие понимания собственных слов и незнание элементарных основ. Хорошенько подумайте, чем отличается А от B:    procedure showImg(img) var pictureForm:TPictureForm; begin  pictureForm:=TPictureForm.Create(img,dimensions);  pictureForm.ShowModal;  pictureForm.Free; end;   от    procedure showImg(img) var pictureForm:TPictureForm; begin  pictureForm:=TPictureForm.Create(img,dimensions);  try   pictureForm.ShowModal;  finally   pictureForm.Free;  end; end;   Когда разбересь, надеюсь, больше не будете приставать с глупостями. coder, вам также советую немного подумать прежде чем бросаться на бруствер. Проанализируйте на досуге тот код что я приведу и то что сами же пишете, и тогда поймете, что прежде чем тыкать в мануалы и чужой код, нужно его сначала понять.    log('Creating'); c:=TMyClass.Create(Self); try 	log('Show'); 	c.ShowModal; finally 	log('Finally:'); 	log('Free'); 	c.Free; 	log('Doing something else:'); 	SomethingElse(); end;      try 	log('Creating'); 	c:=TMyClass.Create(Self); 	log('Show'); 	c.ShowModal; 	log('Free'); 	c.Free; finally 	log('Finally:'); 	log('Doing something else:'); 	SomethingElse(); end;   Добавлено спустя 1 минуту 33 секунды:  +100500, многократно  Иногда умение читать от умения понимать, оказывается, сильно отличается...