![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 56
|
Следующая ситуация: Есть датагрид и есть тип данных Professor(запись базы данных. Описан как класс) который отображается в датагриде как ArrayCollection. При выборе записи датагрида необходимо присвоить ее переменной типа Professor. Это обеспечивается через событие change датагрида. В обработчик события передаю параметр event. В обработчике переменной присваиваю
Вот тут возникает проблема... Вылетает ошибка: Error #1034: Ошибка типа Coercion: невозможно преобразовать Object@566b499 в diplomServices.Professor. Начал дебагить... Оказывается компилятор приписывает mx_internal_uid переменной data эвента. А при аналогичной обработке похожих классов компилятор не присваивает mx_internal_uid переменной data эвента. В общем, какие идеи? |
|
|||||
|
Modus ponens
|
Одно к другому не относится. Ошибка потому, что вы использовали нетипизированый объект (возможн, сериализация не правильно написана) и попытались его конвертировать в объект определенного типа.
uuid / mx_internal_uuid и тому подобная ересь генерится для динамических объектов используемых в коллекции, если эта коллекция является датапровайдером компонента. Ну так вот во флексе сделаны коллекции...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 56
|
Дело в том, что аналогичным образом я поступаю еще с тремя датагридами... Переменные определенных типов... Датагриду передаются через датапровайдер. Только вот в этом, последнем, возникла проблема... Остальные работают нормально... И только в последнем почему-то mx_internal_uid появляется... Может конечно оно и не при чем, но в работающих вариантах такого нет...
|
|
|||||
|
Modus ponens
|
Ну если вы будете спорить с рантайм ошибками, то в итоге победят ошибки
![]() Просто вдумчиво еще раз прочитайте сообщение об ошибке. ЗЫ: Coercion - по-русски "приведение". Цитата:
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 16.04.2010 в 00:42. |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 56
|
Да никто же с ошибками и не спорит. Да и словарем я пользуюсь
Просто не могу понять откуда взялось это mx_internal_uid (да, я слабо себе представлю что это такое). Видимо именно из-за него компилятор не может привести переменную к нужному мне типу. Возможно даже вопрос поставить следующим образом: Откуда берется mx_internal_uid и как привести переменную с mx_internal_uid к переменной типу, которая не содержит такого поля. Или как избавиться от mx_internal_uid. |
|
|||||
|
wvxvw не обманывает, ошибка не должна быть связана с mx_internal_uid. Но уж если хочется от него избавится - нужно поступить так: в Professor (или какой там объект передается) нужно сделать хотя бы одно свойство [Bindable] либо иплементировать IUID интерфейс либо создать свойство uid с каким-нибудь значением.
|
|
|||||
|
Регистрация: Feb 2010
Сообщений: 56
|
Просто кроме как причина ошибки - mx_internal_uid на ум ничего не приходит. Professor содержит поля id, firstName, lastName, serName и определено как Bindable (и класс определен и экземпляр класса). Откуда взялось mx_internal_uid!!!? Или если это не причина ошибки (что тоже возможно. Нужно все проверять), то как мне избавиться от этой ошибки? А вообще откуда оно берется это mx_internal_uid и почему?
|
|
|||||
|
|
|
|||||
|
Регистрация: Feb 2010
Сообщений: 56
|
Ммда... Проблему решил... Оказалось все достаточно глупо... При определении класса в FLEX в ActionScript файле указал описываемый класс один, а alias RemoteClass совершенно другой... Не знаю, как я это не заметил и как оно работало с этой опечаткой... Большое спасибо за помощь и за внимание! Вот выговорился, и все получилось
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|