Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-10-2013
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
abrir carpeta desde delphi no, con lazarus si

hola, tengo una duda y un código, el código es este:

Código Delphi [-]
  if Join.CheckBox1.Checked then
    ShellExecute(Handle, 'open', nil, nil, PChar(extractFilePath(join.labEdit2.Text)), 1);

La duda es esta: ¿Por qué usando este código en lazarus me abre la carpeta indicada en el campo labEdit2.text y si la uso en delphi 2010 me devuelve este error? Decir que en el uses, tengo declarado "ShellApi".

Cita:
[dcc64 Error] Unir.pas(181): E2003 Undeclared identifier: 'Handle'
La verdad es que cuando he visto que lazarus se lo traga y delphi no, me ha dejado descolocado. Seguramente tiene su razon de ser, pero se me escapa.
¿Alguna sugerencia?

Gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 22-10-2013
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
Hola de nuevo,

vale he declarado el manejador en el var de la funcion como THandle y ya funciona.
una pregunta ¿por que si pongo...
Código Delphi [-]
if Join.CheckBox1.Checked then
    ShellExecute(Handle, 'open', nil, nil, PChar(extractFilePath(join.labEdit2.Text)), 1);
... sin declarar el manejador da error y si pongo "1" en lugar del "handle" no falla?

Saludos.

Última edición por danielmj fecha: 22-10-2013 a las 21:21:36. Razón: error al escribir
Responder Con Cita
  #3  
Antiguo 22-10-2013
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por danielmj Ver Mensaje
Hola de nuevo,

vale he declarado el manejador en el var de la funcion como THandle y ya funciona.
una pregunta ¿por que si pongo...
Código Delphi [-]
if Join.CheckBox1.Checked then
    ShellExecute(Handle, 'open', nil, nil, PChar(extractFilePath(join.labEdit2.Text)), 1);
... sin declarar el manejador da error y si pongo "1" en lugar del "handle" no falla?

Saludos.
Normalmente uno envía el Handle del objeto TApplication, así...

Código Delphi [-]
ShellExecute(Application.Handle, 'open', nil, nil, PChar(extractFilePath(join.labEdit2.Text)), 1);

Con el 1 te funciona porque el compilador "cree" que le estas indicando como manejador el Handle con dirección 1.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #4  
Antiguo 22-10-2013
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
Cita:
Empezado por jhonny Ver Mensaje
Normalmente uno envía el Handle del objeto TApplication, así...

Código Delphi [-]ShellExecute(Application.Handle, 'open', nil, nil, PChar(extractFilePath(join.labEdit2.Text)), 1);


Con el 1 te funciona porque el compilador "cree" que le estas indicando como manejador el Handle con dirección 1.
¿Qué seria la dirección 1? o dicho de otro modo ¿a que hace referencia el "1"? perdon por preguntar tanto.

Saludos.
Responder Con Cita
  #5  
Antiguo 22-10-2013
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por danielmj Ver Mensaje
¿Qué seria la dirección 1? o dicho de otro modo ¿a que hace referencia el "1"? perdon por preguntar tanto.

Saludos.
Por acá encontré un Hilo donde Roman explica lo que preguntas... http://www.clubdelphi.com/foros/showthread.php?t=11567 espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 22-10-2013
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 13
danielmj Va por buen camino
Gracias jhonny,

Pues a estudiar un poco la API de windows entonces, saludos.
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
crear una carpeta/directorio desde delphi eyscom API de Windows 6 22-06-2012 05:15:49
Abrir un PDF desde Delphi FelipeDiaz Varios 3 29-07-2008 21:06:00
Como darle permisos a usuarios a una carpeta compartida desde delphi Bracus API de Windows 7 07-05-2008 21:39:44
abrir *.xfm desde delphi uper Lazarus, FreePascal, Kylix, etc. 1 10-05-2005 19:03:59
Abrir un CDB desde DELPHI islu Conexión con bases de datos 0 17-06-2003 14:25:45


La franja horaria es GMT +2. Ahora son las 01:20:49.


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