Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-11-2009
SyncReuter SyncReuter is offline
Miembro
 
Registrado: ene 2007
Posts: 26
Poder: 0
SyncReuter Va por buen camino
ok Mamcx, entiendo lo que quieres decir, pero en mi caso en particular cual es el problema? Utilizo D2005 Pro UPD3!!! y los parametros que paso a la función son los correctos?

function WinExec(lpCmdLine: LPCSTR; uCmdShow: UINT): UINT; stdcall; // LPCSTR = PAnsiChar;

Código Delphi [-]
procedure TPrcWaitFormProgress.ExtractWaitForm(Sender: TObject);
var
  F: string;
begin
  F:=PathLocal + 'AppWFP.EXE'; // No funciona
  //ShowMessage(F); // me devuelve D:\Proyectos\Delphi\WSam\WSamManager\AppWFP.EXE
  //F:='C:\AppWFP.EXE'; // Asi funciona OK
  WinExec(PAnsiChar(F), SW_SHOW);
end;

Iluminame por favor, dime que estoy haciendo MAL!!!!

mmm lo olvidaba...ambas rutas el archivo existe

gracias por tu tiempo, Saludos
Responder Con Cita
  #2  
Antiguo 27-11-2009
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 22
gatosoft Va camino a la fama
Amigo SyncReuter, tu dices que ya probaste, pero intenta hacer un showmessage a las instrucciones:

ShowMessage(PAnsiChar(p));
ShowMessage(PAnsiChar(PAnsiString(p)));

Hazlo para ambos PATH:

D:\Proyectos\Delphi\WSam\WSamManager\AppWFP.EXE
D:\AppWFP.EXE

Ahora, ¿de que tipo es tu variable FAppFileName?

Un saludo,
Responder Con Cita
  #3  
Antiguo 27-11-2009
SyncReuter SyncReuter is offline
Miembro
 
Registrado: ene 2007
Posts: 26
Poder: 0
SyncReuter Va por buen camino
Hola gatosoft, bueno puse el codigo completo que tengo en este momento dentro del procedimiento:

Código Delphi [-]
procedure TPrcWaitFormProgress.ExtractWaitForm(Sender: TObject);
var
  //F: Ansistring; // No hay diferencia
  F: string;
begin
  F:=PathLocal + 'AppWFP.EXE'; // No funciona
  //ShowMessage(F); // me devuelve D:\Proyectos\Delphi\WSam\WSamManager\AppWFP.EXE
  //F:='C:\AppWFP.EXE'; // Asi funciona OK

  //ShowMessage(PAnsiChar(F)); // me devuelve D:\Proyectos\Delphi\WSam\WSamManager\AppWFP.EXE
  //ShowMessage(PAnsichar(PAnsiString(F))); // me devuelve D:\Proyectos\Delphi\WSam\WSamManager\AppWFP.EXE

  WinExec(PAnsiChar(F), SW_SHOW);
end;

como puedes ver la variable que contiene la ruta + el ejecutable es "string" (tambien probe son Ansi)

El problema me tiene parado desde anoche, como decimos aca...estoy metioooo la verdad con los años que llevo con delphi es la cuestion mas rara que me a pasado, estoy
seriamente pensando en que puede existir una falla en mi delphito.
Ahora bien para asegurarme PAnsiChar esta relacionada con la unit System y WinExec con la unit Windows

Saludos.... (Estoy que formateo el pc y reinstalo todo )
Responder Con Cita
  #4  
Antiguo 27-11-2009
SyncReuter SyncReuter is offline
Miembro
 
Registrado: ene 2007
Posts: 26
Poder: 0
SyncReuter Va por buen camino
En mi desesperación realice un proyecto aparte con mi drama.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Path: string;
  F: string;
begin
  Path:=ExtractFilePath(Application.ExeName);
  F:='AppWFP.EXE';

  //ShowMessage(Path); // Devuelve:--> D:\Proyectos\Delphi\Test\
  //ShowMessage(Path + F); // Devuelve:--> D:\Proyectos\Delphi\Test\AppWFP.EXE

  //WinExec(PAnsiChar(Path + F), SW_SHOW); // NO FUNCIONA

  //WinExec('D:\Proyectos\Delphi\Test\AppWFP.EXE', SW_SHOW); // NO FUNCIONA

  WinExec('C:\AppWFP.EXE', SW_SHOW); // SI FUNCIONA :-)

end;

En ambas rutas (Path) existe el archivo AppWFP.EXE, Utilizo Delphi 2005 Pro UPD3 y tengo winxp pro sp3

Saludos

Última edición por SyncReuter fecha: 27-11-2009 a las 18:04:27.
Responder Con Cita
  #5  
Antiguo 27-11-2009
SyncReuter SyncReuter is offline
Miembro
 
Registrado: ene 2007
Posts: 26
Poder: 0
SyncReuter Va por buen camino
mmmmmm lo raro es en el proyecto de prueba si funciona con:

ShellExecute( 0, nil, PAnsiChar(Path + F), nil, nil, SW_SHOWNORMAL );

y lo acabo de probar dentro del proyecto principal (dentro de una clase) y no funciona , creo que debo tener un problema en la clase



Gracias, saludos desde chile
Responder Con Cita
  #6  
Antiguo 27-04-2010
DeG DeG is offline
Miembro
 
Registrado: mar 2008
Posts: 42
Poder: 0
DeG Va por buen camino
asi anda lo uso yo y tengo delphi 2010

WinExec(PAnsiChar(AnsiString('c:\TuCarpeta\Tuprograma.exe')),SW_SHOWNORMAL);
Responder Con Cita
  #7  
Antiguo 27-04-2010
DeG DeG is offline
Miembro
 
Registrado: mar 2008
Posts: 42
Poder: 0
DeG Va por buen camino
otra opción

Path:='C:\TuCarpeta\';
WinExec(PAnsiChar(AnsiString(Path+TuPrograma.exe')),SW_SHOWNORMAL);
Responder Con Cita
Respuesta



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
PansiChar a string jorgegetafe Varios 6 24-12-2007 17:32:52
Problema con WinExec. Drahcir Varios 5 15-06-2007 08:28:57
WinExec karlita_cb Varios 3 18-05-2004 20:52:21
convertir de 'TCaption' para usar su valor en 'PAnsiChar' jbgpina OOP 5 03-03-2004 14:06:45
winexec en w2000 ogorut API de Windows 2 23-06-2003 18:41:58


La franja horaria es GMT +2. Ahora son las 05:06:50.


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