Delphi - Atención Fer

 
Vista:

Atención Fer

Publicado por Ruben Quiterio (12 intervenciones) el 07/06/2001 18:32:32
Saludos,

Intenté comunicarme contigo pero me dió error tu dirección

[email protected]

Por otro lado,

La situación con el módulo es la siguiente :

El código

if key = 13 then
FindNextControl(ActiveControl,true,true,true).setfocus;
endif

Colocado en el OnKeyDown de cualquier edit funciona perfectamente, y presionando Enter
puedo pasar el control al siguiente componente.

Sin embargo, si lo coloco en un módulo y le envio la tecla presionada como parámetro, al
intentar compilar me da los errores :

Undeclared identifier FindNextControl
Undeclared identifier ActiveControl

Gracias por tu interés



Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Atención Fer

Publicado por Fer (117 intervenciones) el 07/06/2001 22:56:42
Perdoooon, error tipográfico en la dirección (la buena es [email protected]).

Cuando dices que pones ese código en un Módulo, ¿a qué te refieres?, ¿a un DataModule?, si es así es normal que no te funcione ya que si lo pones en un Form, p.ej. como dices en el OnKeyDown de cualquier control te funciona porque, implícitamente, toda referencia a una propiedad o método hace referencia a "Self" (el Form), de manera que poner:

FindNextControl(ActiveControl,true,true,true).setfocus

Es equivalente a escribir:

Self.FindNextControl(ActiveControl,true,true,true).setfocus

Y todo va bien porque FindNexControl es un método de la clase TForm, ahora bien, si pones ese código en un DataModule, como la clase TDataModule no tiene ese método te da el error que mencionas.

Si a pesar de todo quieres poner ese código en un DataModule, crea un procedimiento que reciba como parámetro una referencia al form, p. ej:

procedure SiguienteControl(pForm: TForm);
begin
...
pForm.FindNextControl(...);
...
end;

Espero que esto te sirva.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar