Estoy intentando construir en un formaularios dos objetos un TDriveComboBox que debe me muestra las unidades del equipo TDirectoryListBox que me muestra los ditrectorios de la unidad, el problema es que al cambiar la unidad no me refresca el listado los directorios de la unidad seleccionada, el codigo es el siguiente
Código Delphi
[-]
unit UCopiaSeguridad;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FileCtrl, StdCtrls;
type
TFCopiaSeguridad = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure crearCopiaSeguridad;
procedure restaurarCopiaSeguridad;
procedure crearUnidades (Pariente : TWinControl);
procedure unidadesChange(Sender: TObject);
procedure unidadesClick(Sender: TObject);
procedure listaCarpetasChange(Sender: TObject);
procedure crearDirectorio (Pariente : TWinControl);
public
Unidades : TDriveComboBox;
ListaCarpetas : TDirectoryListBox;
Fichero : TStringList;
Ruta : String;
end;
var
FCopiaSeguridad: TFCopiaSeguridad;
implementation
{$R *.dfm}
procedure TFCopiaSeguridad.FormCreate(Sender: TObject);
begin
crearDirectorio(FCopiaSeguridad);
crearUnidades(FCopiaSeguridad);
end;
procedure TFCopiaSeguridad.crearCopiaSeguridad();
begin
end;
procedure TFCopiaSeguridad.restaurarCopiaSeguridad();
begin
end;
procedure TFCopiaSeguridad.crearUnidades (Pariente : TWinControl);
begin
with TDriveComboBox.Create(self) do
begin
parent:= Pariente;
top:= 15;
left:= 15;
OnClick:= UnidadesClick;
OnChange:= UnidadesChange;
DirList:= ListaCarpetas;
end;
Unidades:= TDriveComboBox.Create(nil);
end;
procedure TFCopiaSeguridad.crearDirectorio (Pariente : TWinControl);
begin
with TDirectoryListBox.Create(self) do
begin
parent:= Pariente;
top:= 40;
left:= 15;
ItemHeight:= 16;
TabOrder:= 1;
OnChange:= ListaCarpetasChange;
end;
ListaCarpetas:= TDirectoryListBox.Create(nil);
end;
procedure TFCopiaSeguridad.UnidadesChange(Sender: TObject);
begin
end;
procedure TFCopiaSeguridad.UnidadesClick(Sender: TObject);
begin
end;
procedure TFCopiaSeguridad.ListaCarpetasChange(Sender: TObject);
begin
showmessage('3');
end;
end.
He probado cuanto he podido pero no he logrado nada, agradezco de antemano la ayuda
Gertorresm
Colombia