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 09-06-2016
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 21
adebonis Va por buen camino
Drag and Drop archivos desde Explorer

Buenos días.

Ya se que es un tema recurrente, pero estoy intentando que una aplicación permita arrastrar archivos desde el Explorador de Windows.
Utilizo Delphi 2007 y Windows 8.1
El caso es que al arrastrar un archivo el código del procedure, en este caso, AcceptFiles no se ejecuta.

Esta es la Form que utilizo:

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellApi, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    procedure AcceptFiles(var msg: TMessage); message WM_DROPFILES;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  DragAcceptFiles(Handle, True);
end;

procedure TForm1.AcceptFiles(var msg: TMessage);
const
  cnMaxFileNameLen = 255;
var
  i, nCount: integer;
  FileName: array[0..cnMaxFileNameLen] of char;
begin
  nCount := DragQueryFile( msg.WParam, $FFFFFFFF, FileName, cnMaxFileNameLen);
  for i := 0 to nCount-1 do begin
    DragQueryFile(msg.WParam, i, FileName, cnMaxFileNameLen);
    memo1.Lines.add(FileName);
  end;
  DragFinish(msg.WParam);
end;

end.

Gracias de antemano.

Adolfo de Bonis
Responder Con Cita
  #2  
Antiguo 09-06-2016
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Antes de probar con otra cosa... ¿no estarás ejecutando Delphi o el programa con permisos de administrador? Puesto que programas con diferentes permisos no pueden "arrastrarse archivos" entre sí...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 09-06-2016
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Por curiosidad he probado tu código y este funciona como se espera. De modo que tal vez sea lo que he dicho en mi anterior mensaje... u otra cosa...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 09-06-2016
Avatar de adebonis
adebonis adebonis is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 145
Poder: 21
adebonis Va por buen camino
Hola.

Gracias Dec. Era eso exactamente. Ejecutaba Delphi con permisos de administrador.

Adolfo de Bonis
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
Drag & Drop hacia explorer LucasBols C++ Builder 2 02-07-2012 04:20:11
Hacer Drag&Drop desde otro programa a texto (RichEdit) o imagen (Image) en mi program rrf Varios 2 24-02-2009 14:38:06
Drag & Drop desde el Explorador de Windows. Emilio Trucos 1 09-10-2007 23:53:55
Aceptar ficheros arrastrados desde el Explorador de Windows. (Drag&Drop) dec Trucos 0 29-06-2006 23:26:36
drag & drop desde mi aplicacion ebeltete API de Windows 8 04-03-2005 16:21:50


La franja horaria es GMT +2. Ahora son las 19:06:29.


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