![]() |
Modificar variables de una aplicación desde una DLL
Hola a todos, tengan un buen día.
Tengo el siguiente problema: Desarrollé una aplicación en la que puse una función que utiliza dos variables globales de la misma aplicación, pero ahora quiero usar esta función en otras aplicaciones, entonces lo que estoy haciendo es ponerla en una DLL, pero no puedo modificar estas dos variables, las modifico, pero no estoy mandando el valor modificado a la aplicación, solo se modifica en la DLL. Cómo puedo hacer esto? Estas variables que quiero modificar no las tenía dentro de los parámetros, porque eran globales y simplemente tomaba el valor que tenía en ese momento en la aplicación. Para que la función trabaje, tuve que incluir estas variables en los parametros de la función y mandar los valores cada vez que utilizo la función, pero ahora el problema es que no se modifican en mi aplicación. Espero haberme explicado correctamente, se me hace un poco complicado lo que quiero. Gracias de antemano, Dios los bendiga. |
No dices que tipo de variable es, dependiendo del tipo se haría de una manera u otra, es distinto si es un integer, un string o un objeto.
|
Entonces es posible? :D
Son de tipo integer las dos... |
¿Como estas pasando el parámetro? por valor o por referencia. Si lo estas haciendo por referencia no debería de haber ningún problema.
Tu función debería ser algo así:
|
Aqui esta el código, asi lo tengo en mi DLL...
Me marca lo siguiente: Cita:
|
Y, ¿cuáles son los valores que quieres modificar? No veo ningún var, como te indicó seoane. Y esos hints no creo que se deban al código que aquí pones puesto que no se ve ninguna asignación a esas variables.
// Saludos |
Ahi estan las asignaciones. Entonces 1.- ¿al ponerle var ya es como utilizar las variables que tengo en mi aplicación? 2.- ¿en ese momento ya se modifican tambien las variables en la aplicacion no solo en la DLL? Ah, una variable es boolean y la otra integer, como podrán ver ;). |
Cita:
Pues sí, al no haber var, lo que asignas a esas variables se queda en el procedimiento y no se usa para nada, de ahí el hint. Cuando usas var en el parámetro, el valor que le asignes dentro del procedimiento, se preserva al término de este. Entonces, al usar
Siendo Cadena y Punto las variables globales declaradas en tu aplicación, el valor debe reflejarse, siempre y cuando uses var. // Saludos |
Cita:
Listo!!! ya no me marca los hints, supongo que ya funciona como queria, voy a estar haciendo pruebas, si me surge otra duda, por aqui preguntaré ;) Muchas gracias. |
La franja horaria es GMT +2. Ahora son las 04:21:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi