Merhaba,
XE8'de ufak bir proje yaptım. Bunu Android'de de çalıştırmak istiyorum. Ancak kullandığım bir component sadece iOS destekliyor. {$IFDEF IOS} gibi bir kullanım yaptım ama yine de hata veriyor. Bu componenti android tarafında tamamen silmenin bir yolu var mıdır?
Kolay gelsin.
iOS ve Android için Ayrı form tasarımı?
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Re: iOS ve Android için Ayrı form tasarımı?
Componenti derlerken target platformdan androidi silmeyi denediniz mi ?
Yeni bloğum: http://brsatalay.blogspot.com.tr/
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: iOS ve Android için Ayrı form tasarımı?
Merhaba Mustafa Hocam;
Kullandığınız component'in .pas dosyaları var ise ve bu .pas dosyaları ana uygulamanızın Uses kısmında referans gösteriliyorsa;
.pas dosyalarını tek tek açıp güncelleme yapmanız gerekecektir.
Çünkü ana uygulamayı Android platformunda build ettiğinizde,
compiler, o paslarda geçen metodları ve özellikleri kullanmamanıza rağmen, Uses kısmındaki bütün referansları yeniden derler.
Uses, Private veya public ve metodlar içerisinde direktifler kullanmak gerekecektir.
Aşağıda Android ve iOS için basit bir kod örneği gösterdim.
Umarım yol gösterir.
Kullandığınız component'in .pas dosyaları var ise ve bu .pas dosyaları ana uygulamanızın Uses kısmında referans gösteriliyorsa;
.pas dosyalarını tek tek açıp güncelleme yapmanız gerekecektir.
Çünkü ana uygulamayı Android platformunda build ettiğinizde,
compiler, o paslarda geçen metodları ve özellikleri kullanmamanıza rağmen, Uses kısmındaki bütün referansları yeniden derler.
Uses, Private veya public ve metodlar içerisinde direktifler kullanmak gerekecektir.
Aşağıda Android ve iOS için basit bir kod örneği gösterdim.
Umarım yol gösterir.
Kod: Tümünü seç
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes,
System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs
{$IFDEF IOS}
,iOSapi.Foundation, iOSapi.UIKit, iOSapi.CocoaTypes
{$ENDIF}
{$IFDEF ANDROID}
,Androidapi.JNI.GraphicsContentViewText,
Androidapi.Helpers
{$ENDIF}
;
type
TForm1 = class(TForm)
private
{$IF DEFINED(iOS) or DEFINED(ANDROID)}
procedure DosyaAç(DosyaAdı: String);
{$ENDIF}
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
{$IFDEF ANDROID}
procedure TForm1.DosyaAç(DosyaAdı: String);
var
i: JIntent;
begin
i := TJIntent.Create;
i.setAction(TJIntent.JavaClass.ACTION_VIEW);
i.setData(StrToJURI(DosyaAdı));
SharedActivity.startActivity(i);
// ....
// ....
end;
{$ENDIF}
{$IFDEF IOS}
procedure TForm1.DosyaAç(DosyaAdı: String);
var
url: NSURL;
begin
url := TNSURL.Wrap(TNSURL.OCClass.fileURLWithPath(NSStr(DosyaAdı)));
// ....
// ....
end;
{$ENDIF}
end.