Re: [Monobotics-develop] [ES] Error al acceder a atributo heredado desde objeto hijo.
Brought to you by:
buhochileno
|
From: Jaime A. <obe...@ho...> - 2009-09-16 16:10:22
|
Hola.
Me resulto ahora puedo prender y apagar desde monoBOTICS.
Mañana voy a ir a dejar mi anteproyecto.
Saludos.
--------------------------------------------------
From: <buh...@gm...>
Sent: Tuesday, September 15, 2009 3:38 PM
To: "Jaime Alvarado" <obe...@ho...>
Cc: "monoBOTICS Developers" <mon...@li...>
Subject: Re: [Monobotics-develop] [ES] Error al acceder a atributo heredado
desde objeto hijo.
> Hi,
>
> Ya pille el problem, ...
> Lo que pasa es que en 1er lugar estas haciendo que cm11 y cp10 tengan
> sus propios puertoserie y sus propios "LoadResources" para
> reconstruirlos, pero a su vez heredan de X10Interface que tiene otro
> puerto serie, entonces cuando se setea la propiedad Interface en module
> se enlaza con un objeto de tipo padre y luego se arma todo un enredo
> respecto a cual objeto serialport se esta usando, el del padre o el del
> hijo...
> Lo que debes hacer (ya lo probe) es que ni cp10 ni cm11 tienen nada en
> su contructor, solo llaman al contructor del padre:
> public X10Cm11() :
> base() {
> Y luego en sus LoadResources solo llaman al del padre:
> protected override void LoadResources() {
> base.LoadResources();
> }
> Por lo tanto no necesitas archivos de recursos para cm11 o cp10, solo el
> ipx del padre (X10Interface) y el se encarga del LoadResource completo
> (si mas tarde por diferencias cm11 o cp10 necesitan otros objetos y por
> lo tanto otros archivos de recursos se hace algo mixto entre reconstruir
> sus propios objetos en sus loadresource y los base/comunes en el
> loadresource del padre...), de la misma forma tampoco cm11 o cp10
> necesitan una propiedad "Port" ya que deberia estar solo en el padre, te
> recomiendo hacer que X10Interface herede de SerialKit..en cualquier caso
> la propiedad publica deberia llamarse SerialPort y no solo "Port", te
> recomiendo que cuando construyas el .ipx para el X10Interface el nodo
> "raiz" del kit sea un "SerialKit" y que de todas formas agregues un
> objeto SerialPort, etc para que la herramienta del generacion de codigo
> te genere el LoadResource con los objectid, etc, pero luego eliminas del
> codigo el "objeto" SerialPort , puesto que al heredar de SerialKit ya lo
> tendrias y en el LoadResources simplemente cambias por serialport =
> ()embedded.blablabla
>
> Mira la Sabertooth2x25Kit que hereda de SerialKit y en el LoadResources
> tiene algo como:
> serialport =
> (MBF.Ports.SerialPort)embedded.FindByObjectID("5e96021c-8015-4750-a205-5a26a4f00b41");
>
> El objeto raiz en el ipx del Sabertooth2x25Kit es un "SerialKit", pero
> el generador de codigo le creo igual un objeto serialPort (ya que no
> sabe que objetos son provistos por el padre/raiz en este caso serialkit
> que ya provee un serialport), luego se elimino ese objeto serialport y
> se ocupa el del padre...
>
> Ademas please cambia los nombre X10Cm11 a X10CM11 y X10Cp10 a X10CP10,
> eso tambien para ipx (si correspondiera), etc..
>
> Cualquier duda me avisas..
>
> Mauricio
>
> Jaime Alvarado wrote:
>> 7:55:54 PM 130ms - 1> Initialising Simulation
>> 7:55:54 PM 131ms - 1> Initialising Simulation for Monoscopic Rendering
>> 7:55:54 PM 131ms - 1> Initialising Simulation for Viewport 1
>> 7:55:54 PM 131ms - 1> Initialising Simulation for Camera 1
>> 7:55:54 PM 131ms - 1> Initialising Simulation for X10Cm11
>> 7:55:54 PM 131ms - 1> Simulacion de : X10Cm11
>> (b5d35f2e-dbf5-4112-8617-ff09e345ac98) Port no null
>> 7:55:54 PM 131ms - 1> Initialising Simulation for X10Module
>> 7:55:54 PM 132ms - 1> Interface desde X10Cm11
>> (b5d35f2e-dbf5-4112-8617-ff09e345ac98) Port null
>> 7:55:54 PM 132ms - 1> Simulation Initialised
>> 7:55:56 PM 105ms - 3> Form deactivated
>>
>> Esta es la salida como le conte anteriormente, en la simulacion del
>> Cm11 me dice port no null, mientras que en el del Modulo me dice Port
>> null.
>>
>>
>> --------------------------------------------------
>> From: "Mauricio Heneiquez" <buh...@gm...>
>> Sent: Monday, September 14, 2009 7:23 PM
>> To: "Jaime Alvarado" <obe...@ho...>
>> Cc: "monoBOTICS Developers" <mon...@li...>
>> Subject: Re: [Monobotics-develop] [ES] Error al acceder a atributo
>> heredado desde objeto hijo.
>>
>>> Raro, debería funcionar, enviame los archivos necesarios para probar
>>> acá...
>>>
>>>
>>> Mauricio
>>>
>>> El 14/09/2009, a las 19:12, "Jaime Alvarado"
>>> <obe...@ho...
>>> > escribió:
>>>
>>>>
>>>>
>>>> --------------------------------------------------
>>>> From: <buh...@gm...>
>>>> Sent: Monday, September 14, 2009 5:38 PM
>>>> Cc: "monoBOTICS Developers" <mon...@li...>
>>>> Subject: Re: [Monobotics-develop] [ES] Error al acceder a atributo
>>>> heredado desde objeto hijo.
>>>>
>>>>> Jaime Alvarado wrote:
>>>>>> Hola. En la escena hay dos objetos de tipo X10Module y X10Cm11.
>>>>>>
>>>>>> X10Module
>>>>>> {
>>>>>> private X10Interface interface; // desde el inspector asocio esta
>>>>>> propiedad con el objeto Cm11 presenta en la escena
>>>>>> SetAddress() // Esta función la llamo desde el initialicesimul ation
>>>>>> {
>>>>>> interface.Transmit();
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> X10Interface
>>>>>> {
>>>>>> private serialport Port;
>>>>>>
>>>>>> Transmit()
>>>>>> {
>>>>>> string msg = this.Port == null ? "null" : "no null";
>>>>>> ISE.IConsole.Write(msg); // Cuando se ejecuta esta función dice
>>>>>> que port es "null".
>>>>>> }
>>>>>> }
>>>>>>
>>>>> Esta clase tiene la parte "Designer" con el "LoadResources" donde se
>>>>> re-crea el Port verdad?, de donde hereda X10Interface? y necesito
>>>>> ver su
>>>>> constructor...
>>>>
>>>> La clase tiene la parte Designer con el LoadResources.
>>>> Hereda de DomoKits
>>>> y este es su constructor
>>>>
>>>> public X10Interface() : base()
>>>> {
>>>> try
>>>> {
>>>> this.embeddedfile = "X10Interface.ipx";
>>>> this.embeddedheadid = "634dd788-905d-409c-9314-1e23341b60db";
>>>> }
>>>> catch (Exception e)
>>>> {
>>>> ISE.IConsole.Write(e.Message);
>>>> }
>>>> }
>>>>
>>>>>> X10Cm11 : X10Interface
>>>>>> {
>>>>>> SetInterfaceClock() // Esta funcion la llamo desde el
>>>>>> initicalicesimulation
>>>>>> {
>>>>>> string msg = this.Port == null ? "null" : "no null";
>>>>>> ISE.IConsole.Write(msg); // Cuando se ejecuta esta función dice
>>>>>> que port es "no null"
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> --------------------------------------------------
>>>>>> From: <buh...@gm...>
>>>>>> Sent: Monday, September 14, 2009 9:18 AM
>>>>>> Cc: "monoBOTICS Developers" <mon...@li...
>>>>>> >
>>>>>> Subject: Re: [Monobotics-develop] [ES] Error al acceder a atributo
>>>>>> heredado desde objeto hijo.
>>>>>>
>>>>>>> Necesitaria un extracto de codigo (code snippet) para entender
>>>>>>> mejor la
>>>>>>> situacion, pero tal vez el esquema del Sabertooh2x5Kit te ayude,
>>>>>>> en el
>>>>>>> proyecto MBF.RobotKit existe el kit SaberTooth2x5Kit que hereda de
>>>>>>> SaberTooth2x , hay puedes ver que las funcionalidades estan
>>>>>>> implementadas en la clase padre SaberTooth2x pero los objetos
>>>>>>> propiamente tal estan y se usan en SaberTooth2x5Kit...
>>>>>>>
>>>>>>> Mauricio
>>>>>>>
>>>>>>> Jaime Alvarado wrote:
>>>>>>>> Hola.
>>>>>>>> Tengo una clase X10Cm11 la cual hereda desde X10Interface la cual
>>>>>>>> hereda de Domokits y a la vez esta compuesta de un serialport. (No
>>>>>>>> supe como heredad directamente desde SerialKit).
>>>>>>>> Pasa que desde la clase X10Cm11 puedo acceder al serialport, no hay
>>>>>>>> ningun problema pero cuando ocupo las funciones de x10Interface
>>>>>>>> para
>>>>>>>> acceder al serialport desde X10Cm11, esta dice que: object
>>>>>>>> reference
>>>>>>>> not set to an instance of an object, lo cual no entiendo ya que el
>>>>>>>> miembro serialport dice que es null, pero desde los metodos de CM11
>>>>>>>> dice que no es null pudiendo operar el serialport sin ningun
>>>>>>>> problema.
>>>>>>>> --- ---
>>>>>>>> ------------------------------------------------------------------
>>>>>>>>
>>>>>>>>
>>>>>>>> --- --- --- ---
>>>>>>>> ------------------------------------------------------------------
>>>>>>>>
>>>>>>>> Let Crystal Reports handle the reporting - Free Crystal Reports
>>>>>>>> 2008
>>>>>>>> 30-Day
>>>>>>>> trial. Simplify your report design, integration and deployment -
>>>>>>>> and
>>>>>>>> focus on
>>>>>>>> what you do best, core application coding. Discover what's new with
>>>>>>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july
>>>>>>>> --- ---
>>>>>>>> ------------------------------------------------------------------
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Monobotics-develop mailing list
>>>>>>>> Mon...@li...
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/monobotics-develop
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --- --- --- ---
>>>>>>> ------------------------------------------------------------------
>>>>>>>
>>>>>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008
>>>>>>> 30-Day
>>>>>>> trial. Simplify your report design, integration and deployment - and
>>>>>>> focus on
>>>>>>> what you do best, core application coding. Discover what's new with
>>>>>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july
>>>>>>> _______________________________________________
>>>>>>> Monobotics-develop mailing list
>>>>>>> Mon...@li...
>>>>>>> https://lists.sourceforge.net/lists/listinfo/monobotics-develop
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --- --- ---
>>>>> ---------------------------------------------------------------------
>>>>> Come build with us! The BlackBerry® Developer Conference in SF, CA
>>>>> is the only developer event you need to attend this year. Jumpstart
>>>>> your
>>>>> developing skills, take BlackBerry mobile applications to market
>>>>> and stay
>>>>> ahead of the curve. Join us from November 9-12, 2009. Register
>>>>> now!
>>>>> http://p.sf.net/sfu/devconf
>>>>> _______________________________________________
>>>>> Monobotics-develop mailing list
>>>>> Mon...@li...
>>>>> https://lists.sourceforge.net/lists/listinfo/monobotics-develop
>>>
>>
>
>
|