Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 20-05-2012
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Thumbs up

Bueno, les comento que ya solucioné mi problema. Chau.



















Jajaja no me voy a ir así nomás

Lo solucioné con la ayuda de roman haciendo un leve cambio. En vez de utilizar GetFocus() usé una variable THandle y le asigné la ventana con GetForegroundWindow.
Les muestro precisamente cómo quedó y cómo funciona:
Código Delphi [-]
procedure TForm1.WaitUntilFieldFocused(sFieldName: String);
var
  Handle: THandle;
  Buffer: array[Byte] of Char;
begin
  Handle := GetForegroundWindow;
  Buffer := '';
  while (Buffer <> sFieldName) do
  begin
    ZeroMemory(@Buffer, SizeOf(Buffer));
    GetClassName(Handle, Buffer, 255);
    Sleep(250);
  end;
end;

Solamente recibe el nombre (que lo obtuve usando otra mini aplicación con GetClassName(Handle, Buffer, 255) y las mismas variables) y espera hasta que aparece focuseado, que por la lógica de mi aplicación es 100% seguro que va a estar focuseado aunque tarde mucho tiempo.
El procedimiento lee el nombre del TWinControl (agradecimiento enorme a roman por explicarme que todo componente es una ventana ) y lo compara con el nombre que le pedís que encuentre. Si no lo encuentra se pausa 0.0250 segundos y vuelve a mirar. Nada más, muy simple.

Muchas gracias a los que aportaron, a los que lo leyeron y no pudieron responder pero pensaron a ver si se les ocurría algo, a todos.

Si algún moderador pudiera editar el nombre del topic y ponerle al principio "[RESUELTO]" y cerrarlo sería grandioso y que quede como ejemplo

Saludos!!!!!!!!!!!!!!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
abrir aplicación externa desde delphi y detectar su cierre petete2008 API de Windows 2 10-02-2012 11:44:23
Ejectuando una aplicacion externa jandrorm Varios 5 09-02-2011 16:13:56
Manipular aplicación externa oabel5 API de Windows 30 27-05-2010 07:04:41
Aplicacion externa a c++ alloger C++ Builder 1 28-10-2006 00:37:09
Manipular una aplicacion externa lookmydoom API de Windows 2 09-08-2006 22:22:52


La franja horaria es GMT +2. Ahora son las 11:04:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi