Ver Mensaje Individual
  #11  
Antiguo 04-11-2016
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Reputación: 17
jhonalone Va por buen camino
Bueno. Ya estoy aquí.

Te cuento.
He bajado y descomprimido el archivo al que apunta el link de Embarcadero.
Sólo venían 3 archivos: Androidapi.IOUtilsEx.pas (que es la unidad principal), Androidapi.JNI.EnvIntf.pas y Androidapi.JNI.SystemIntf.pas (usados por la unidad principal).

Además, en su cláusula uses vienen otros cuantos:
Código Delphi [-]

implementation

uses
  System.SysUtils,
  Androidapi.Jni,
  Androidapi.JNIBridge,
  Androidapi.JNI.JavaTypes,
  Androidapi.Helpers,
  Androidapi.JNI.SystemIntf,
  Androidapi.JNI.EnvIntf;

Puesto que para compilarse los necesita todos, he copiado los que faltaban desde el directorio C:\RadStudio10\17.0\source\rtl\android

He creado un proyecto nuevo
Código Delphi [-]
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
  FMX.Controls.Presentation, Androidapi.IOUtilsEx;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
if isExternalStorageWritable
then Label1.Text := GetExternalSDCardDirectory
else ShowMessage('No hay SD card');
end;

end.

Al pulsar el Button1 me da el bonito mensaje de "Access violation" en dos dispositivos que lo he probado, en los mismos que con las rutas que anteriormente os he comentado, funcionaban.

No sé si es que la unidad está escrita para otra versión de Delphi o qué pasa.

Te agradezco tu esfuerzo, jhonny, pero creo que no voy a perder más tiempo con este asunto.

Gracias de verdad.

Saludos a todos.
Responder Con Cita