![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola.
Puedes ejecutar programas secuencialmente, lo único que tienes que hacer es indicarle que espere hasta que el proceso termine antes de llamar al siguiente. Hablando más claramente (en código) sería: Debes llamar el procedimiento por ejemplo de la siguiente forma: por ejemplo donde Filename es el nombre del archivo ejecutable que deseas correr; WaitForEnd es un booleano que indica si quieres que la rutina espere a que el ejecutable se cierre para retornar; TimeForWait es la cantidad de milisegundos que la rutina debe esperar por que el ejecutable se cierre antes de retornar, si no se ha cerrado en ese tiempo retorna igual, si quieres que espere indefinidamente hasta que se cierre debes especificar 0 en este parámetro; Parameters son los parámetros que quieres pasarle al ejecutable; StartFolder es la carpeta de inicio para ese ejecutable (normalmente la misma en que se encuentra); LaunchMode es el modo en que quieres que la ventana se ejecute (normal, minimizada, maximizada, etc); y Priority es la prioridad con que quieres que se ejecute el archivo (baja, normal, alta, etc). La rutina devuelve 0 si el archivo se pudo ejecutar o -1 si no se pudo ejecutar. Última edición por paldave fecha: 29-08-2007 a las 03:13:11. Razón: Pequeño error en el código |
|
#2
|
|||
|
|||
|
Buenas paldave.
Gracias por tu aportación. Tengo un problema con el código que pusiste de la función. Al compilarlo: Código:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TLaunchMode = (lmNormal, lmMaximized, lmMinimizedActive, lmMinimizedInactive, lmHide);
TPriority =(pIdle, pNormal, pHigh,pRealTime);
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
function LaunchExtended(Filename:String; WaitForEnd: Boolean; TimeForWait:Cardinal=0; Parameters, StartFolder:String; LaunchMode:TLaunchMode; Priority:TPriority):Integer;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
...
[Error] Unit1.pas(16): Default value required for 'StartFolder' ... Por qué puede ser? perdona mi ignorancia |
|
#3
|
|||
|
|||
|
me respondo a mi mismo.... Si definimos la función de la siguiente forma compila sin problemas.
Código:
function LaunchExtended(Filename:String; WaitForEnd: Boolean; TimeForWait:Cardinal=0; Parameters:string=''; StartFolder:String='c:\'; LaunchMode:TLaunchMode=lmNormal; Priority:TPriority= pNormal):Integer; Código:
LaunchExtended(mysql_odbd_3.52.exe', True, 0, '', 'C:\Windows\System32', lmNormal, pNormal); LaunchExtended(Setup.exe', True, 0, '', 'C:\Windows\System32', lmNormal, pNormal); Por qué puede ser? Cómo solucionarlo? Gracias de nuevo |
|
#4
|
|||
|
|||
|
Help !!!
Al parecer el problema radica en que, por ejemplo, el ejecutar mysql_odbd_3.52.exe para esa función y ShellExecuteEx (que es similar) el control lo devuelve en cuanto abre el instalador y éste, en si, es otra aplicación distinta.
Vamos, que sigo estando como al principio !!!! Necesito Ayuda !!! Gracias |
|
#5
|
||||
|
||||
|
¿Te has fijado si el ejecutable mysql_odbd_3.52.exe no es un archivo zip o rar autoextraible? Ahí podría estar el problema, ya que lo que necesitas es llamar directamente al ejecutable del instalador.
|
|
#6
|
|||
|
|||
|
Si, me he fijado. Realmente mysql_odbd_3.52.exe abre un "Windows instaler" automáticamente pero no encuentro la forma de invocarlo directamente.
Se admite cualquier idea más, jejejeje. Gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ayuda Urgente!!!! | abogado | C++ Builder | 2 | 08-12-2005 20:12:12 |
| Ayuda URGENTE | Iskariote | Varios | 4 | 13-07-2005 00:15:59 |
| Ayuda con InstallShield | juanchi | Varios | 2 | 19-10-2004 19:01:42 |
| Ayuda Para Installshield O Algo Parecido | cmena | Varios | 2 | 29-08-2004 22:29:28 |
| Creación de .cab con installshield ¡Ayuda!. | voci | Varios | 0 | 25-02-2004 22:08:29 |
|