Т.к. переменная
TSh у тебя локальная, то при окончании работы процедуры ссылка на нее теряется и доступа к ней ты получить не можешь. Но не будем унывать
Вкладки ты создаешь так:
Код:
TSh := TTabSheet.Create(Self);
вопрос правильности/неправильности такого создания мы в данном контексте опустим. Следовательно
владельцем вкладки будет являться форма (в твоем случае
Form2). А как обратиться к обектам которыми владеет некий известный нам объект? А очень просто, перебором:
Код:
for i:=0 to ComponentCount-1 do
if Components[i] is TTabSheet then
<сюда попадет только в том случае если компонент формы будет являться экземпляром класса TTabSheet либо его наследником>
Теперь как мы будет добираться до конкретного листа. Допустим в предыдущем цикле мы выяснили что i=5, тогда для того чтобы обратиться к этому листу следует писать так:
Код:
(Components[5] as TTabSheet).<имя свойства или метода>
вот и все
ЗЫЖ Для Memo - аналогично