Есть форма, она вызывает класс, тот другой абстрактный класс, а тот еще один класс. В этом "еще одном классе" надо получить переменную из формы. Если смотреть отладчиком, то переменная видна, как caller.FormRun.TransDate
Обычно для этого на форме делают метод типа parmTransDate() или getTransDate() и вызывают его из класса
ну и плюс надо как-то из "еще одного класса" получить ссылку на эту самую форму. только imho это как-то криво с точки зрения проверки типов, потому что компилятор не имеет ни малейшего представления о том, что это за метод такой, какие у него должны быть аргументы и что он должен вернуть. мне кажется, если у вас такая цепочка вызовов, то правильнее было бы в "еще одном классе" получать данные не с формы, о существовании которой он по идее и не должен знать, а из вызывающего класса, причем передавать данные должен сам вызывающий (абстрактный в вашем случае) класс через метод "еще одного класса". А так вот лазить "через голову" в какую-то там форму, которой может и не быть, или она может быть другой и нужного метода не содержать, - это очень как-то криво...