Hola Leandro.
Cita:
Igual que has puesto la función tendrías que poner el procedure
|
Es correcta la apreciación de
ElDioni (así como también lo son las demás sugerencias), no había reparado que habías declarado una función y aunque no es incorrecto, es innecesario.
Creo que tenés una confusión entre los procedimientos,funciones y los métodos, a ver si puedo aclararte.
Si tenemos:
Código Delphi
[-]
type
TMiClase = class
...
private
procedure UNO(Value: Boolean);
public
function DOS(Value: Boolean): Boolean;
end;
Nos encontramos frente a
métodos, es decir procedimientos y funciones que pertenecen a una clase. Por lo tanto en la declaración de la cabecera del procedimiento o función, debemos anteponer la clase a la que pertenecen:
Código Delphi
[-]
procedure TMiClase.UNO(Value:Boolean);
begin
...
end;
function TMiClase.DOS(Value: Boolean): Boolean;
begin
...
end;
En el caso del form fijate que se antepone por ejemplo
TFormIva (nombre de la clase).
Ahora en el caso de los procedimiento o funciónes que no son un método :
Código Delphi
[-]
procedure habilitar;
begin
btNuevo.Enabled:=true; BtEliminar.Enabled:=true; btModificar.Enabled:=true; DBNIva.Enabled:=true;
Dentro del procedimiento habilitar, se tiene totál desconocimiento de los
TButtons: btNuevo, btmodificar y bteliminar, exepto que indiquemos la clase a la que pertenencen:
Código Delphi
[-]
procedure habilitar;
begin
FormIva.btNuevo.Enabled:=true; FormIva.BtEliminar.Enabled:=true; FormIva.btModificar.Enabled:=true; FormIva.DBNIva.Enabled:=true;
También es posible enviarle los
TButton mediante un argumento:
Código Delphi
[-]
procedure habilitar(Btns: array of TButton);
var
i: Integer;
begin
for i:= Low(Btns) to High(Btns) do
Btns[i].Enabled:= False;
end;
...
procedure TFormIva.btDisableClick(Sender: TObject);
begin
habilitar([btNuevo, BtEliminar, btModificar]);
end;
Resumiendo desde un método de la clase TFormIva se puede llamar directamente a btNuevo, por que btNuevo pertenece a TFormIva, pero si se menciona a btNuevo desde otro ámbito debe especificarse a que clase pertenece btNuevo anteponiendole el nombre de la instancia: FormIva.btNuevo.
Un saludo.