>> DIMENSION Thisform.msgObjetos[nElements+1] As Object >> >> *--- Creo el objeto que mostrará el mensaje de error >> Thisform.msgObjetos[nElements]=CREATEOBJECT("image")Looks like you are dimensioning nElements+1 and then adding the object to the old dimension number which could overwrite the existing object.
>> >> // you had... >> // nElements = ALEN(Thisform.msgObjetos) >> // Change to... >> nElements = ALEN(Thisform.msgObjetos) +1 >> >> // then, refer to the NEW object entry you allocate for >> // was: DIMENSION Thisform.msgObjetos[nElements+1] As Object >> DIMENSION Thisform.msgObjetos[nElements] As Object >> >> // now you are referring to the last element from the re-DIMENSION >> Thisform.msgObjetos[nElements]=CREATEOBJECT("image") >> WITH Thisform.msgObjetos[nElements] >>>>
>>> LPARAMETERS oObjeto,cMensaje,iSeverity,lLeft >>> **** Parametros >>> *--- oObjeto - Objeto que se esta validando >>> *--- cMensaje - Mensaje de error a desplegarse en el tooltip >>> *--- iSeverity - Severidad del mensaje (1- Error, 2- Advertencia, 3- Pregunta ?) >>> *--- lLeft - Verdadero si el icono se va a posicionar a la izquierda del control que lo está llamando >>> *--- >>> * Imitando el control ErrorProvider de .NET >>> *--- >>> * Resembles the .NET ErrorProvider Control >>> *--- >>> * Por Enmanuel Gómez B. >>> * Version Original Feb 4, 2005 >>> * 2da Version : Oct. 19, 2006 >>> *--- >>> >>> *--- Siempre añado un Elemento al Arreglo de objetos >>> LOCAL nElements >>> IF !PEMSTATUS(Thisform,"msgObjetos",5) >>> Thisform.AddProperty("msgObjetos(1)") >>> ENDIF >>> nElements = ALEN(Thisform.msgObjetos) >>> >>> DIMENSION Thisform.msgObjetos[nElements+1] As Object >>> >>> *--- Creo el objeto que mostrará el mensaje de error >>> Thisform.msgObjetos[nElements]=CREATEOBJECT("image") >>> >>> WITH Thisform.msgObjetos[nElements] >>> *--- Posicion del Objeto >>> IF !lLeft >>> .Left= oObjeto.Left+oObjeto.Width >>> ELSE >>> .Left=oObjeto.Left-(.Width+3) >>> ENDIF >>> .Top=oObjeto.Top >>> .ToolTipText=cMensaje >>> >>> *--- Mensaje de error >>> .ToolTipText=cMensaje >>> >>> *--- Severidad >>> DO CASE >>> CASE iSeverity=1 >>> .Picture=This.Image1.Picture >>> CASE iSeverity=2 >>> .Picture=This.Image2.Picture >>> CASE iSeverity=3 >>> .Picture=This.Image3.Picture >>> ENDCASE >>> >>> *--- >>> .Visible=.t. >>> >>> ENDWITH >>> >>> >>>>>>