Buenas tardes baje este componente que dice que funciona en firemonkey lo instale en delphi 10.3 rio y se instalo bien el componente corre bien en windows y mac pero cuando trato de compilar en Andrid me da error de
PlatformExtensions y al unit le agrege
Código Delphi
[-]
{$ifdef Android}
FMX.Helpers.Android, AndroidAPI.Helpers,
AndroidApi.JNI.GraphicsContentViewText,
AndroidApi.JNI.Net, AndroidApi.JNI.JavaTypes;
{$endif Android}
pero me sigue dando error
lo que necesito es hacer reportes para android pero no e podido conseguir un reporteador que funcione en android
gracias de antenmano
a continuacion les dejo la unit completa
Código Delphi
[-]
unit FMX.PlatformExtensions;
interface
uses
System.Classes,
{$IFDEF MSWINDOWS}
System.AnsiStrings, Winapi.Windows{$ENDIF}
{$IFDEF MACOS)}
Macapi.CoreFoundation, Macapi.Foundation, MacApi.Appkit
{$ENDIF MACOS}
{$ifdef Android}
FMX.Helpers.Android, AndroidAPI.Helpers,
AndroidApi.JNI.GraphicsContentViewText,
AndroidApi.JNI.Net, AndroidApi.JNI.JavaTypes;
{$endif Android}
type
TPlatformExtensions = class(TObject)
public
class procedure GetSystemFonts(FontList: TStrings);
end;
var
PlatformExtensions:TPlatformExtensions;
implementation
class procedure TPlatformExtensions.GetSystemFonts(FontList: TStrings);
{$ifdef Android}
{$IFDEF MSWINDOWS}
var
Context: HDC;
Font: TLogFont;
function EnumFontsList(var LogFont: TLogFont; var TextMetric: TTextMetric;
FontType: Integer; Data: Pointer): Integer; stdcall;
var
List: TStrings;
FName: string;
begin
List := TStrings(Data);
FName := LogFont.lfFaceName;
if (List.Count = 0) or (List.IndexOf(FName) <> List.Count-1) then
List.Add(FName);
Result := 1;
end;
begin
Context := GetDC(0);
FillChar(Font, sizeof(Font), 0);
Font.lfCharset := DEFAULT_CHARSET;
EnumFontFamiliesEx(Context, Font, @EnumFontsList, Winapi.Windows.LPARAM(FontList), 0);
ReleaseDC(0, Context);
{$ENDIF}
{$IFDEF MACOS)}
var
Manager: NsFontManager;
List: NSArray;
Item: NSString;
I: Integer;
begin
Manager := TNsFontManager.Wrap(TNsFontManager.OCClass.sharedFontManager);
List := Manager.availableFontFamilies;
if (List <> nil) and (List.Count > 0) then
begin
for I := 0 to List.Count-1 do
begin
Item := TNSString.Wrap(List.objectAtIndex(I));
FontList.Add(String(Item.UTF8String));
end;
end;
{$ENDIF MACOS}
initialization
PlatformExtensions := TPlatformExtensions.Create;
finalization
PlatformExtensions.Free;
end.