In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Gestor de Componentes

Foro público de Xailer en español
Responder
rafa
Mensajes: 119
Registrado: Vie Ene 16, 2009 9:59 am

Gestor de Componentes

Mensaje por rafa »

Resulta que creo una dll, le añado, entonces si quiero crearla de nuevo,
no puedo porque esta en memoria, ok, logico, pues la quito desde el
Gestor de Componentes y ... aquí­ esta el trueno;
***************************** Registro de errores
*****************************
Fecha: 28/01/2009
Hora: 14:00:24
Memoria libre: 528684
Area actual: 1
------------------------- Información del compilador
--------------------------
Versión Xailer: Xailer 2.0.0 Version 2.0 beta
Compilador: xHarbour build 1.2.0 Intl. (SimpLex) (Rev. 623221)
PCode Version: 9
Compilador C/C++: Borland C++ 5.5.1 (32 bit)
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del error
-----------------------
Subsistema: BASE
Código de error: 1132
Estado: .F.
Descripción: Bound error
Operación: array access
Argumentos: [ 1] = Tipo: A Valor: [ 2] = Tipo: N Valor: 9
Fichero:
Código error SO: 0
Pila de llamadas:
TFOLDER:CHANGETAB (99)
TFOLDER:_NINDEX (349)
TCOMPONENTMANAGER:OK (357)
(b)TCOMPONENTMANAGER:CREATEFORM (230)
TBUTTON:ONCLICK (0)
TBUTTON:CLICK (100)
(b)XCONTROL:XCONTROL (145)
TBUTTON:COMMAND (0)
TSCROLLINGWINCONTROL:WMCOMMAND (254)
TCOMPONENTMANAGER:WMCOMMAND (899)
TCOMPONENTMANAGER:SHOWMODAL (0)
COMPONENTMANAGER (173)
(b)TMAINFORM:BUILDMENU (817)
TMENUITEM:ONCLICK (0)
TMENU:DOACTION (235)
TMENU:DOACTION (240)
TMAINFORM:WMCOMMAND (892)
RUNFORM (0)
TAPPLICATION:RUN (209)
MAIN (31)
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5707
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Gestor de Componentes

Mensaje por jfgimenez »

Rafa,
> Resulta que creo una dll, le añado, entonces si quiero crearla de nuevo,
> no puedo porque esta en memoria, ok, logico, pues la quito desde el
> Gestor de Componentes y ... aquí esta el trueno;
Ese error se produce porque tienes abierta precísamente esa pestaña. Si te
cambias a otra pestaña antes de eliminar el componente no se produce el
error. No obstante, ya lo tenemos corregido y publicaremos la actualización
lo antes posible.
Por otro lado, hay un problema con todo esto, que estamos investigando para
intentar resolverlo, y es lo siguiente: cuando en el ide utilizas un
componente de una dll, en la tabla de símbolos del ide se añaden los
símbolos del componente (nombre de la clase, métodos, etc.), pero cuando lo
eliminas, los símbolos se quedan, y esto puede provocar un GPF en
determinadas circunstancias.
En la misma línea, si tienes cargado en memoria un formulario con un
componente que viene de una dll y eliminas esa dll, entonces se producirá
también un GPF en cuanto el IDE acceda a algún método de ese componente. Es
típico que cuando pulsas F12 para volver a ver el formulario, se genera un
mensaje WM_PAINT en el control que al "despacharlo" provoca un GPF.
Estamos intentando solucionar los dos casos, pero mientras tanto habrá que
andar con cuidado cuando se añaden y eliminan repetidamente dlls de
componentes.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
rafa
Mensajes: 119
Registrado: Vie Ene 16, 2009 9:59 am

Gestor de Componentes

Mensaje por rafa »

Muchas gracias Jose por las explicaciones.
No obstante , no se como hacerlo funcionar en runtime,
en el IDE funciona perfectamente, pero cuando quiero realizar el
ejecutable me suelta que la clase TPrueba a la hora de enlazar no existe
¿?¿?
¿ Hay que hacer algo especial ?
Saludos
Rafa Carmona
notengo
Mensajes: 417
Registrado: Vie Oct 12, 2007 1:29 pm

Gestor de Componentes

Mensaje por notengo »

Rafa,
> ¿ Hay que hacer algo especial ?
Para generar el componente, lo ideal es que crees dos archivos de proyecto
en el mismo directorio, pe:
StringList.xpj
StringListDll.xpj
En el primero, marcas en las propiedades del proyecto que genere una LIB y
en el segundo una DLL.
En el segundo proyecto le añades otro PRG que sólo se encargue de registrar
la DLL y listo.
Estoy escribiendo un artí­culo sobre cómo generar un componente y espero
tenerlo listo esta noche.
Saludos,
José Lalí­n
rafa
Mensajes: 119
Registrado: Vie Ene 16, 2009 9:59 am

Gestor de Componentes

Mensaje por rafa »

José Lalí­n escribió:
> Rafa,
>
>> ¿ Hay que hacer algo especial ?
>
> Para generar el componente, lo ideal es que crees dos archivos de
> proyecto en el mismo directorio, pe:
>
> StringList.xpj
> StringListDll.xpj
>
> En el primero, marcas en las propiedades del proyecto que genere una LIB
> y en el segundo una DLL.
>
> En el segundo proyecto le añades otro PRG que sólo se encargue de
> registrar la DLL y listo.
>
Por lo que entiendo, entonces tenemos que crear libreria y dll.
La Dll será usada por el IDE y la libreria la tendré que usar para
enlazar , no ?
> Estoy escribiendo un artí­culo sobre cómo generar un componente y espero
> tenerlo listo esta noche.
Ah! Que grande eres!
La verdad es que quiero ver esto con más profundidad, pues nos brinda
todo un universo nuevo.
Estoy mirando los ejemplos de samplesdll , y ya iré preguntando las
dudas que vayan surgiendo.
Saludos
Rafa Carmona
notengo
Mensajes: 417
Registrado: Vie Oct 12, 2007 1:29 pm

Gestor de Componentes

Mensaje por notengo »

Rafa,
> Por lo que entiendo, entonces tenemos que crear libreria y dll.
> La Dll será usada por el IDE y la libreria la tendré que usar para
> enlazar , no ?
¡En el blanco!
> Ah! Que grande eres!
> La verdad es que quiero ver esto con más profundidad, pues nos brinda
> todo un universo nuevo.
De momento, es un artí­culo muy básico sobre cómo construir el proyecto,
configurarlo, generar la LIB y la DLL y registrar el componente en el IDE.
Luego vendrán artí­culos más amplios explicando cómo crear componentes para
Xailer, cómo hacer editores de propiedades, etc.
> Estoy mirando los ejemplos de samplesdll , y ya iré preguntando las
> dudas que vayan surgiendo.
Lo que necesites :-)
Saludos,
José Lalí­n
Karl Svensson
Mensajes: 81
Registrado: Mar Oct 18, 2005 7:20 pm

Gestor de Componentes

Mensaje por Karl Svensson »

CON ESTE XAILER 2.0 SE NOS CAE LA BABA, NO TARDESSSSSS
GRACIAS!
Karl
"José Lalí­n" <notengo@correo.com> escribió en el mensaje de noticias
news:49809059$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>
> Rafa,
>
>> Por lo que entiendo, entonces tenemos que crear libreria y dll.
>> La Dll será usada por el IDE y la libreria la tendré que usar para
>> enlazar , no ?
>
> ¡En el blanco!
>
>> Ah! Que grande eres!
>> La verdad es que quiero ver esto con más profundidad, pues nos brinda
>> todo un universo nuevo.
>
> De momento, es un artí­culo muy básico sobre cómo construir el proyecto,
> configurarlo, generar la LIB y la DLL y registrar el componente en el IDE.
>
> Luego vendrán artí­culos más amplios explicando cómo crear componentes para
> Xailer, cómo hacer editores de propiedades, etc.
>
>> Estoy mirando los ejemplos de samplesdll , y ya iré preguntando las
>> dudas que vayan surgiendo.
>
> Lo que necesites :-)
>
> Saludos,
> José Lalí­n
notengo
Mensajes: 417
Registrado: Vie Oct 12, 2007 1:29 pm

Gestor de Componentes

Mensaje por notengo »

Karl,
muchas gracias.
Saludos,
José Lalí­n
Responder