Android上Delphi XE7位图大小为大消息

Android上Delphi XE7位图大小为大消息,android,image,delphi,bitmap,delphi-xe7,Android,Image,Delphi,Bitmap,Delphi Xe7,当我在Android手机上拍照时,我的XE7应用程序崩溃,它显示位图大小变大。但我使用的代码我以前用过,它工作得很好。它来自embarcadero关于在android/iOS上拍照的例子 我的代码如下: procedure TForm1.TakePhotoFromCameraAction1DidFinishTaking( Image: TBitmap); var saveParams:TBitmapCodecSaveParams; directory,name:String; beg

当我在Android手机上拍照时,我的XE7应用程序崩溃,它显示位图大小变大。但我使用的代码我以前用过,它工作得很好。它来自embarcadero关于在android/iOS上拍照的例子

我的代码如下:

procedure TForm1.TakePhotoFromCameraAction1DidFinishTaking(
  Image: TBitmap);
var
  saveParams:TBitmapCodecSaveParams;
  directory,name:String;
begin
  image1.Bitmap.Assign(Image);
  saveParams.Quality := 100;
  {$IFDEF ANDROID}
  directory := TPath.GetPicturesPath;
  name := '/RoomId:'+ fRoomId.ToString()+' '+DateTimeToStr(Now)+'.png';
  {$ENDIF}
  {$IFDEF IOS}
  directory := TPath.GetDocumentsPath;
  name := '/RoomId:'+ fRoomId.ToString()+' '+DateTimeToStr(Now)+'.png';
  {$ENDIF}
  Image.SaveToFile(directory+name,@saveParams);
end;
有人知道为什么它不起作用吗

更新:
我确信代码是正确的。我已经在另一个应用程序中进行了测试。还尝试调试该操作,并在调试期间不断重复TTakePhotoFromCameraAction.CustomTextChanged。此外,在调试期间,它确实保存了图片,但由于某些原因无法正确关闭操作。奇怪的是,该代码也适用于三星平板电脑,但不适用于索尼手机。

我对表单有一个ScaleBy属性,这就是问题所在。重命名属性后,我再也没有问题了。

哪条语句导致崩溃?image1.Bitmap.AssignImage?删除所有其他代码以查找。无,它会在操作本身上崩溃。我试图调试,但它在运行方法中的任何代码之前给出了消息。也许应该在saveparams上运行一些初始值设定项来初始化其他字段?如果你的应用程序在-哪个?-操作本身上崩溃,那么为什么要发布该代码?@greenapps,因为该操作是TActionList的标准操作,无法显示该操作的任何代码。