При чтении
http://download.oracle.com/javase/6/docs/api/java/sql/Savepoint.html
не совсем ясно, какие точки сохранения сопоставлены с точки зрения базы данных.
При наборе точек сохранения изменения базы данных становятся доступными для других транзакций?
Спасибо
-121--1231827-
Во время выполнения в rtl Streaming возникает ошибка в форме, вызывающая возникновение исключения EClassNotFound при выполнении команды TReader.ReadRootComponent. Особое сообщение об ошибке: «Class not found TAcureList».
Что странно:
Это происходит со мной при создании формы, с которой я работал несколько минут назад. Изменение, которое я сделал, было в каком-то коде подкадра: я удалил весь код раздела его реализации с маркером ifdef, потому что я издеваюсь над некоторыми кадрами, для модульного тестирования и прототипов.
Я попытался добавить класс перечислять действий в проект, и я попробовал с различными вариантами компилятора и ссылок и без них, и тем не менее, я все еще получаю это исключение. Очевидно, что что-то странное произошло. Должно быть, есть еще один странный способ решить эту проблему.
На самом деле, кажется, происходит что-то действительно странное. Когда возникает эта ошибка, я получаю следующий стек вызовов:
rtl.Classes.ClassNotFound('TActionList')
rtl.Classes.TReader.FindComponentClass(???)
rtl.Classes.FindExistingComponent
rtl.Classes.TReader.ReadComponent(nil) /// NIL!? WHAT!!!!!
rtl.Classes.TReader.ReadDataInner(???)
rtl.Classes.TReader.ReadData(???)
rtl.Classes.TComponent.ReadState(???)
vcl.Controls.TControl.ReadState(???)
vcl.Controls.TWinControl.ReadState($60B9CF0)
vcl.Forms.TCustomForm.ReadState(???)
rtl.Classes.TReader.ReadRootComponent($606EB90)
rtl.Classes.TStream.ReadComponent($606EB90)
rtl.Classes.InternalReadComponentRes(???,???,$606EB90)
rtl.Classes.InitComponent(TComplexFormContainingFrames)
Кажется, ноль намеренно, в TReader.ReadDataInner (Instance: TComponent):
while not EndOfList do ReadComponent(nil);
Update: Я считаю, что ответ на этот вопрос заключается в понимании «контекстов сериализации», как упомянул Мейсон. И, пора признаться в собственной Глупости: я убрал родителя кадра из проекта, не осознав, что это родитель кадра. Я обошел его, пропустив объявление типа для TMyFrameParent
как TMyFrameParent = class (TFrame)
, что, в свою очередь, приводит к рассматриваемому условию. Я оставляю вопрос здесь, потому что я думаю, что в будущем будет очень полезно отметить, когда это исключение происходит в тайных случаях, и как его исправить. В частности, у Мейсона есть действительно интересная информация о «контекстах сериализации» и о том, как они применяются к поиску имен классов.