У меня проблемы с загрузкой и компиляцией новой версии существующих классов. В то время, когда они загружены, на них нет никаких ссылок. Класс "Test.Extended" расширяет класс "Test.Base". Класс «Extended» вызывает ClassMethod для класса «Base». Проблема заключается в том, что даже после загрузки и выполнения принудительной компиляции в обоих классах вызываемый метод «Base» ClassMethod является , а не методом нового скомпилированного класса, но более старой версией этого запись в консоль).
Для компиляции обоих я использую следующие команды из терминала (f: означает силу, c: означает компиляцию во время загрузки):
NAMESPACE>w $system.OBJ.Load("C:\Test.Base.cls.xml","fc")
Load started on 01/27/2009 10:10:34
Loading file C:\Test.Base.cls.xml as xml
Imported class: Test.Base
Compiling class Test.Base ..................
Compiling routine Test.Base.1
Load finished successfully.
1
NAMESPACE>w $system.OBJ.Load("C:\Test.Extended.cls.xml","fc")
Load started on 01/27/2009 10:10:34
Loading file C:\Test.Extended.cls.xml as xml
Imported class: Test.Extended
Compiling class Test.Extended ..................
Compiling routine Test.Extended.1
Compiling routine Test.Extended.2
Load finished successfully.
1
Нам нужно, чтобы эти два файла автоматически загружались и компилировались системой, но мы не можем этого сделать, потому что система продолжает использовать более старую версию. Кто-нибудь знает, как заставить Intersystems Caché использовать последнюю версию скомпилированных классов?
Спасибо,
Луис