Ver Mensaje Individual
  #2  
Antiguo 28-03-2008
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Reputación: 18
Black_Ocean Va por buen camino
Hola amigo,

Para llamar o ejecutar aplicaciones externas en Delphi tienes 2 métodos: ShellExecute y CreateProcess.

ShellExecute lo deberías usar cuando no vas a manipular sub-hilos que genere la aplicación externa que vas a ejecutar o cuando no necesitas manipular valores/resultados de aplicaciones de inicio, términto (end threat). Para lo que necesitas yo creo que este será suficiente.

Ejemplo:

Código Delphi [-]
uses
  ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Handle, 'Open', 'C:\Aplicacion.exe', nil, nil, SW_SHOWNORMAL);
end;

Esta función devuelve diversos valores para controlar alguna excepción como archivo no encontrado, no hay memoria para ejecutarlo, etc,

El método CreateProcess es para poder manipular la ejecución de la aplicación externa en cuanto a memoria se refiere, a sus subhilos que genere y en otros valores de ejecución y término, etc. En este caso, debes asignarle un inicio de ejecución de memoria con ZeroMemory antes de implementar CreateProcess en concreto, y darle otras propiedades, Hay un ejemplo en ClubDelphi de este simple procedimiento. Pero, para lo que necesitas, yo creo que con ShellExecute es suficiente.

Pero, por lo que he leído, para los sistemas actuales, debería implementarse CreateProcess como un hábito.

Saludos.

Última edición por Black_Ocean fecha: 28-03-2008 a las 03:13:14.
Responder Con Cita