Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Blocking dialogs not implemented on this platform on Android Platform
#1
Screenshot_2018_01_10_21_37_08_315_com_e...tmenim.png

FmxExpress'in yaptığı DrawApp uygulamasında ( çizim ) çizilenleri kaydetme olayında resimde görünen hata meydana geliyor kaydetme işlemi olmuyor.
Konu ile ilgili pek fazla döküman yok bilen de ayrıntılı anlatırsa uygun olur teşekkürler 
uygulama Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#2
(11-01-2018, Saat: 23:57)Paranoyaq Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlScreenshot_2018_01_10_21_37_08_315_com_e...tmenim.png

FmxExpress'in yaptığı DrawApp uygulamasında ( çizim ) çizilenleri kaydetme olayında resimde görünen hata meydana geliyor kaydetme işlemi olmuyor.
Konu ile ilgili pek fazla döküman yok bilen de ayrıntılı anlatırsa uygun olur teşekkürler 
uygulama Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Merhaba,
Uygulamayı doğrudan paylaşmaktan ziyade yalnızca hatanın oluştuğu (Message) kısmı paylaşırsanız, eminim daha çok yardımcı olabiliriz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Merhaba,

VCL'den alışık olduğunuz MessageDLG kütüphanesine ait birçok input ve show popup mesajlarının desteği FMX üzerinde bulunmuyor. Bunun yerine metodu override ederek özel olarak çağırabiliyorsunuz.

Kendi yazmış olduğum metodları paylaşıyorum, size yardımcı olacaktır.

GitHub üzerinden erişmek için: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

// Yapsın mı? Evet, Hayır (true - false döner)
function AIMessageDlg(Question: String): Boolean;
var
 Res: Boolean;
begin

 MessageDlg(Question, System.UITypes.TMsgDlgType.mtInformation, [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
   procedure(const AResult: TModalResult)
   begin
     case AResult of
       mrYes:
         Res := true;
       mrNo:
         Res := False;
     end;

   end);

 Result := Res;

end;

// Yukarıda bir TProcedure çalışır. Yanıt evet olması durumunda tetiklenir.
procedure AIMessageDlgV2(Question: String; ExecuteProcedure: TProcedure);
begin

 MessageDlg(Question, System.UITypes.TMsgDlgType.mtInformation, [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
   procedure(const AResult: TModalResult)
   begin
     case AResult of
       mrYes:
         ExecuteProcedure;
       mrNo:
         Exit;
     end;

   end);

end;

// Doğru yanıt verilmesi durumunda 2. parametredeki action aktif edilir.
procedure AIConfirmBox(Question: String; Action: TAction);
begin

 MessageDlg(Question, System.UITypes.TMsgDlgType.mtInformation, [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
   procedure(const AResult: TModalResult)
   begin
     case AResult of
       mrYes:
         Action.Execute;
       mrNo:
         Exit;
     end;

   end);
end;

// TActionList'te iki farklı eylem denetlenir. Dönüş metodları 2. ve 3. parametreler.
procedure AIMsgDlgYesNo(Question: String; YesAction: TAction; NoAction: TAction);
begin
 MessageDlg(Question, System.UITypes.TMsgDlgType.mtInformation, [System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
   procedure(const AResult: TModalResult)
   begin
     case AResult of
       mrYes:
         YesAction.Execute;
       mrNo:
         NoAction.Execute;
     end;

   end);
end;
{ talk is cheap show me the code. }
Cevapla
#4
Merhaba,
Daha önce de bir çok mesajımda belirttiğim gibi mobil platform, VCL uygulamalar gibi dayanıklı değil. 
En ufak bir hatada kırılıyor. 
FMX gelişim sürecinde Embarcadero'nun en taktir ettiği yönü; yüzlerce SDK sürümü ve On Binlerce cihaz çözünürlüğü ve hassasiyetlerine rağmen bu mimarinin doğru olduğunu ve geleceği olduğunu vermiş olduğu çok hızlı desteklerle ispatlamış olmasıdır.
FMX mesajlar değişen SDK'lar karşısında bir çok değişim geçirdi. Bazı mesaj servisleri kullanılmamaya ve bazı yeni mesaj sınıfları da bu ihtiyaçlar doğrultusunda kullanılmamaya başlandı. 
Gelmiş olduğu son sancılı dönemleri de atlattığını ve çok stabil bir yapıya kavuştuğunu; sık gözlemleyen tüm özelliklerini bire bir her patformda test eden biri olarak, içtenlik ve samimiyetimle söyleyebilirim.
FMX mimarisi çok hızlı değişiyor çok hızlı gelişiyor. 
Anlatmak istediğim (yine o an geliyor reklam Smile her lafı Kitaba bağlıyorum ya.) doğru ve güncel bir bilgi kaynağına ihtiyaç var. 

Neyse lafı çok uzatmayayım. 
Bu aralar çok zamanım olmadığından paylaşmış olduğunuz kodlara da geç göz gezdirmiş oldum. 
InputBox fonksiyonunu aşağıdaki şekilde kullanırsanız, bir sorun olmayacaktır.

Uses kısmını aşağıdaki referansı ekleyin.
uses 
 FMX.DialogService;

Kod kısmı:
procedure Tdrawmaindemo1frm.SpeedButton1Click(Sender: TObject);
var
 sfile: string;
 fs: TFileStream;
begin
 TDialogService.InputQuery('Dosya Kaydetme İşlemi', ['Dosya Adı'],
   ['Deneme.jpg'],
   procedure(const AResult: TModalResult; const AValues: array of string)
   begin
     case AResult of
       mrOK:
         begin
           if (AValues[0].Trim <> '') then
           begin
             sfile := System.IOUtils.TPath.Combine
               (System.IOUtils.TPath.GetDocumentsPath(), AValues[0]);
             fs := TFileStream.Create(sfile, fmCreate);
             try
               fdrawbox.SaveToJPEGStream(fs);
             finally
               fs.DisposeOf;
             end;
           end;
         end;
     end;
   end);
end;


SimulatorScreenShot16Oca201819.08.5177a48.png

2018-01-16_19-19-20.png
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#5
Fesih ve Abdullah Bey ayrı ayrı teşekkür ediyorum hocam Allah razı olsun.
İyi çalışmalar. +rep
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Firemonkey Android ile OCR ve Mifare - NFC - RFID Kütüphaneleri Abdullah ILGAZ 14 816 03-09-2018, Saat: 12:42
Son Yorum: adelphiforumz
  Android APİ sorunu - Google Play BY-HAYALET 23 1.118 23-08-2018, Saat: 18:54
Son Yorum: narkotik
  Tokyo Android Kurulumunda aldığım hata hakkında adelphiforumz 8 257 01-08-2018, Saat: 10:56
Son Yorum: Fesih ARSLAN
  [Ödüllü Soru] FMX Android projede input alan ve sanal klavye konumu Abdullah ILGAZ 1 188 20-07-2018, Saat: 12:37
Son Yorum: ssahinoglu
  Rad Studio C++ Android iile Editte Barkod Okutma Hatası Ahmet YILMAZ 1 466 19-07-2018, Saat: 17:01
Son Yorum: Abdullah ILGAZ



Konuyu Okuyanlar: 1 Ziyaretçi