Ver Mensaje Individual
  #7  
Antiguo 13-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Código Delphi [-]
 PROCEDURE SetVale(V:boolean);
BEGIN
V:=False;
END;
Por tu bien, declaralo así:
Código Delphi [-]
 PROCEDURE SetVale(Value:boolean);
BEGIN
V:=Value;
END;
Comentar que no le dabas el valor a V, sino que lo ponias a false.

En la librería, V no debería estar en la zona de interface, simplemente porque el usuario de la librería jamás va a acceder a la variable directamente, sino a través de Get y SetValue.

No he hecho la prueba, quizás ni siquiera se exporte esa variable, pero intuitivamente, al verla en la zona de interface, puede parecer que si se exporta. Es decir, deberás declararla en la zona de implementation.

Por otra parte, el error que tienes al usar la libreria es de nombres, en tu programa, no uses V para nada, Si necesitas una variable Boolean, declarala con otro nombre. En realidad, cuando usas la libreria, tienes que olvidarte de como está hecha, y solo prestar atención a GetValue y SetValue. Esa abstracción es indispensable para diseñar la dll correctamente, y también para poderla usar (OOP).

Como usuario de una libreria no tienes por qué saber como se llama esa variable, ni te hace falta.


Código Delphi [-]
 SetValue(checkbox1.checked);
 Checkbox2.Checked := GetValue;

Según actives o desactives el check1, se marcará el check2.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita