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 13-07-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Solo se lo pasas por parametros:

Código:
winexec('"c\Imagen.exe" "c:\dibujo.jpg"')
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #2  
Antiguo 13-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
no me traga eso

mi codigo (segun tu version es asi)

windows.WinExec(cadena pchar(hint),1)


donde cadena es la ruta del programa, e Hint es el nombre del fichero que quiero cargar con el programa.

tambien e probrado a concatenar ambas cadenas para utilizar un solo parametro:

strcat(cadena , pchar(hint);
windows.WinExec(cadena ,1);

asi me compila bien, xo en runtime al ejecutar el codigo me abre el programa xo no el archivos
Responder Con Cita
  #3  
Antiguo 13-07-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
lo mas seguro es que la ruta no sea la correcta
prueba copiandolo en la raiz para ver si es eso o no
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 13-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
la ruta esta bien




esto es todo lo k ago

Código Delphi [-]
 
procedure TModuloImagenes.Image1DblClick(Sender: TObject);
const max=255    ;
var editor:tsearchrec;
    cadena:array [0..max] of char;
begin
strcopy(cadena,'c:\archivos de programa\archivos comunes\microsoft shared\photoed\photoed.exe  ' );
with sender as timage do
begin
strcat(cadena,pchar(hint));
showmessage(cadena); // solamente para comprobar la ruta
if FindFirst('c:\archivos de programa\archivos comunes\microsoft shared\photoed\photoed.exe',0,editor) = 0 then
windows.WinExec(cadena pchar(hint),1)  else
showmessage('No se encuentra el PhotoEditor');
end;
end;


el (Timage).hint contiene la misma cadena k se a cargado en el picture.loadfromfile, x lo tanto el contenido sera valido, despues le concateno delante la ruta (dejando un espacio en blanco) del photoeditor i lo ejecuto,

el resultado es que me abre el photoeditor pero no me abre la fotografia ...
Responder Con Cita
  #5  
Antiguo 14-07-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Código Delphi [-]
 
procedure TModuloImagenes.Image1DblClick(Sender: TObject);
const max=255    ;
var editor:tsearchrec;
    cadena:array [0..max] of char;
begin
strcopy(cadena,'"c:\archivos de programa\archivos comunes\microsoft shared\photoed\photoed.exe"  ' );
with sender as timage do
begin
strcat(cadena,pchar(Image1.Hint));
showmessage(cadena); // solamente para comprobar la ruta
if FindFirst('c:\archivos de programa\archivos comunes\microsoft shared\photoed\photoed.exe',0,editor) = 0 then
windows.WinExec(cadena pchar(hint),1)  else
showmessage('No se encuentra el PhotoEditor');
end;
end;
[/quote]

Prueba los dos pequeños cambio que te propongo a ver que sucede, no estoy muy seguro en referencias a objetos, pero creo que el Hint que estas capturando es el del Form y no el del Imagen
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 14-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Si los nombres de archivo del programa y del que queres pasar como parámetro contienen espacios, tenes que encerrarlos entre comillas para que el sistema los considere un único parámetro:

por ejemplo:

WinExec('c:\archivos de programa\programa.exe c:\mis documentos\documento.doc');

tratará de ejecutar c:\archivos, pasándole como parámetros:

de
programa\programa.exe
c:\mis
documentos\documento.doc

totalmente erratico, no:

en cambio:

WinExec('"c:\archivos de programa\programa.exe" "c:\mis documentos\documento.doc'");

Tratará de ejecutar:

c:\archivos de programa\programa.exe

con el parámetro:

c:\mis documentos\documento.doc

otra opción es usar solamente nombres de archivo 8.3:

WinExec('c:\archiv~1\programa.exe c:\misdoc~1\documento.doc');

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 14-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
eduarcol, tu solucion no me sirve, ia k ese procedimiento solo sirve para la imagen1, y tengo 36 imagenes... xD tendria k escribir 36 procedimientos iguales !!! utilizando el parametro server le digo al compilador que objeto es el que4 a llamado al procedimiento, fijate que pongo with sender as timage ... en cuanto a jachguate probare pasando las dos cadenas x separado, xo tengo k pasarle variables, no cadenas literales, no puedo, x tanto ,usar las comillas


eduarcol el hint no es del form, comprobado x showmessage.pertenece a la imagen que llama al procedimiento
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


La franja horaria es GMT +2. Ahora son las 18:46:20.


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