Не инициализирован в пользовательском контроле? - PullRequest
0 голосов
/ 13 января 2011

Есть идеи, почему AR не инициализируется должным образом при использовании внутри пользовательского элемента управления?Моя инициализация правильно выполняется AFAIK, потому что моя родительская форма успешно может запрашивать.Однако, когда я пытаюсь делать запросы в своих пользовательских элементах управления, я получаю Warning 1 An ActiveRecord class (Binder) was used but the framework seems not properly initialized. Did you forget about ActiveRecordStarter.Initialize() ? 0 0.Что мешает мне перетащить свой пользовательский элемент управления на форму.Если это поможет, я инициализирую AR в Program.Main ().

Вот трассировка стека:

at Castle.ActiveRecord.ActiveRecordBase.EnsureInitialized(Type type)
at Castle.ActiveRecord.ActiveRecordBase.FindAll(Type targetType, DetachedCriteria detachedCriteria, Order[] orders)
at Castle.ActiveRecord.ActiveRecordBase.FindAll(Type targetType)
at Castle.ActiveRecord.ActiveRecordBase`1.FindAll()
at TxLocates.BinderTabReferenceControl.BinderTabReferenceControl_Load(Object sender, EventArgs e) in C:\dev\TxLocates\src\TxLocates\BinderTabReferenceControl.cs:line 56
at System.Windows.Forms.UserControl.OnLoad(EventArgs e)
at System.Windows.Forms.UserControl.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at System.Windows.Forms.Form.ControlCollection.Add(Control value)
at System.Windows.Forms.Design.ControlDesigner.DesignerControlCollection.Add(Control c)  

1 Ответ

2 голосов
/ 13 января 2011

Дизайнер Visual Studio выполняет OnLoad для вашего пользовательского элемента управления, но не запускает Program.Main (). Поэтому ActiveRecord не инициализируется в контексте конструктора.

Обходные пути: используйте свойство DesignMode для определения режима разработки, чтобы избежать выполнения кода, связанного с ActiveRecord, или попробуйте вызвать ActiveRecord из другого события.

...