Thema: Delphi Kamera Delphi 10.4

Einzelnen Beitrag anzeigen

Herbst Erich

Registriert seit: 25. Sep 2019
Ort: Graz
1 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Kamera Delphi 10.4

  Alt 20. Feb 2021, 13:52
Hallo
Ich habe folgendes Problem. Seit ich auf Delphi 10.4 umgestellt habe, kann ich die Kamera nicht mehr nutzen. Weder auf Android10 noch auf Android11.
Fehlermeldung:
jave.lang.NullPointrExcption: Attempt to invoke virutal method 'android.content.res.XmlRsourceParser android.content.pm.ProviderInfo.loadXmlMetaData(an droid.contend.pm.PackageManager,java.lang.String)' on a null object reference

Mit Delphi 10 funktioniert alles fehlerfrei. Mit Delphi 10.4 erscheint oben angeführte Fehlermeldung
Den Programmcode habe ich zu Testzwecken von Sir Rufo übernommen.

Kann mir wer bei diesem Problem weiterhelfen. Ich wäre sehr dankbar dafür


Delphi-Quellcode:
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.MediaLibrary, FMX.Platform, System.Messaging,
  FMX.Objects, FMX.StdCtrls, FMX.Controls.Presentation;

type
  TForm1 = class(TForm)
    ToolBar1: TToolBar;
    SpeedButton1: TSpeedButton;
    ImageControl1: TImageControl;
    procedure SpeedButton1Click(Sender: TObject);
  private
    procedure PhotoDidFinishTaking(Image:TBitmap);
    procedure PhotoDidCancelTaking;
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}
procedure TForm1.PhotoDidCancelTaking;
begin
  // Was auch immer hier passieren soll
end;

procedure TForm1.PhotoDidFinishTaking(Image: TBitmap);
begin
  ImageControl1.Bitmap.Assign(Image);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  service : IFMXCameraService;
begin
  if TPlatformServices.Current.SupportsPlatformService(IFMXCameraService,service) then
  begin
    service.TakePhoto(
    nil,
    TSize.Create(200,200),
    False,
    PhotoDidFinishTaking,
    PhotoDidCancelTaking );
  end;
end;


end.

Geändert von Daniel (20. Feb 2021 um 16:56 Uhr) Grund: Code in Delphi-Tags gesetzt
  Mit Zitat antworten Zitat