![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Supongo que ya lo sabes, pero creo que el problema está perfectamente descrito en esta frase.
Evidentemente, si cambias una variable global, pues cambia la variable global "en todas las ventanas", como dices. Precisamente eso son las variables globales. Deberías utilizar una propiedad o una variable privada en lugar de la global. Si no entiendes la diferencia entre una "variable global" y una "propiedad privada", quizá debas leerte algún libro de programación, como "La Cara Oculta de Delphi".
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#2
|
|||
|
|||
|
Gracias Ñuño por responder, estuve un tiempo dedicado al hard y ahora estoy volviendo con esta parte.
Le di muchas vueltas al asunto pero aún no consigo lo que quiero, que lo describo aqui abajo: quiero que cada formulario MDIChild que esté abierto y que haya "cargago" su parte gráfica de una dll (que puede estar o no repetida entre varias forms), pueda recibir el contenido de una variable. el contenido de la variable es específico para cada instancia de la dll que tengo abierta, para que cada ventana contenga datos diferentes aunque sean de la misma apariencia (cada form responde a una placa específica) otra restriccion es que, dentro de la dll la variable debe ser global para poder utilizarla desde varios de sus procedimientos y funciones. Denrto de la dll modifico la variable llamando a un procedimiento desde el programa principal, al que le paso como argumento una variable del mismo tipo. Hice varias pruebas tratando de limitar el ámbito de la variable en la dll pero no funcionó. no se me ocurre nada mas... si se entiende el planteo y alguien tiene alguna idea.. Bienvenida!! gracias, gustavo |
|
#3
|
|||
|
|||
|
Hola...
Es que tu problema radica precisamente en la variable global... Lo que tendrías que hacer en determinado momento es declarar alguna variable o propiedad privada o ya de plano pasar la información por medio de parámetros a las funciones y procedimientos... Saludos... |
|
#4
|
|||
|
|||
|
Hola maeyanes,
estuve intentando con la variable declarada dentro de private, y tambien pasándola como argumento a un procedimiento. Para esto tuve que quitar el procedimiento exportado del archivo library y colocarlo dentro de la unit del form contenido en la dll, pero de las dos maneras me da un error al ejecutarlo. Read of address xxxx. Gracias por su ayuda, Gustavo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Consulta Delphi 6, Delphi 2005 y Delphi 2006 | Leviatan | Varios | 6 | 18-08-2007 17:02:08 |
|