Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Android Imagelist e resim ekleme,TBitmap
#1
Merhaba

FMX uygulamada aşağıdaki kod windows üzerinde çalışıyor ama android üzerinde çalışmıyor.Aldığım hata:

... exception class segmentetion Fault(11)


Amaç, postgres den resimleri çekip imagelist içine atarak eğitim video 5 1:25 de anlatılanı yapmak.
uygulamayı windows da debug yaparsam sorunsuz çalışıyor. Android de F8 ile uygulamayı çalıştırırsam yukardaki hatayı alıyorum.
F9 ile debug yaparsam hatasız devam ediyor ama resimleri göstermiyor.

Aşağıdaki kod thread içinde çalışıyor ilk açılışta bir defa çalışsın ve açılışı yavaşlatmasın maksadıyla thread içine aldım.

procedure coklu.Execute;
var
ms:TMemoryStream;

Resim:FMX.Graphics.TBitmap;
begin

franaframe.imgGun.PictureList.Clear(true,true);
ms:=TMemoryStream.Create;
resim:= TBitmap.Create();


inherited;
try
try


 datam.uniPostgre.Connected:=True;
 with datam.qrGunler do
  begin
   Close;
   Open;
   First;
   while not (Eof) do
    begin
      TBlobfield(datam.qrgunlerRESIM).SaveToStream(ms);
      ms.Position:=0;
      Resim.LoadFromStream(ms);
      //franaframe.imgGun.PictureList.Add.LoadFromStream(ms); //LoadPictureDownloaded('https://im0-tub-tr.yandex.net/i?id=047812d8478ce00dab013960b0b3eb17&n=13');
      franaframe.imgGun.PictureList.Add.Assign(resim);
      ms.Clear;
      Next;
    end;
  end;

   except on E: Exception do
   ShowMessage(E.Message);
end;
finally
    ms.Free;
    resim.Free;
end;


end;

İyi çalışmalar dilerim.
Genelde telefondan ingilizce klavye ile ileti gönderiyorum.
Cevapla
#2
(29-02-2020, Saat: 10:41)41linea41 Adlı Kullanıcıdan Alıntı: Merhaba

FMX uygulamada aşağıdaki kod windows üzerinde çalışıyor ama android üzerinde çalışmıyor.Aldığım hata:

... exception class segmentetion Fault(11)


Amaç, postgres den resimleri çekip imagelist içine atarak eğitim video 5 1:25 de anlatılanı yapmak.
uygulamayı windows da debug yaparsam sorunsuz çalışıyor. Android de F8 ile uygulamayı çalıştırırsam yukardaki hatayı alıyorum.
F9 ile debug yaparsam hatasız devam ediyor ama resimleri göstermiyor.

Aşağıdaki kod thread içinde çalışıyor ilk açılışta bir defa çalışsın ve açılışı yavaşlatmasın maksadıyla thread içine aldım.

procedure coklu.Execute;
var
ms:TMemoryStream;

Resim:FMX.Graphics.TBitmap;
begin

franaframe.imgGun.PictureList.Clear(true,true);
ms:=TMemoryStream.Create;
resim:= TBitmap.Create();


inherited;
try
try


 datam.uniPostgre.Connected:=True;
 with datam.qrGunler do
  begin
   Close;
   Open;
   First;
   while not (Eof) do
    begin
      TBlobfield(datam.qrgunlerRESIM).SaveToStream(ms);
      ms.Position:=0;
      Resim.LoadFromStream(ms);
      //franaframe.imgGun.PictureList.Add.LoadFromStream(ms); //LoadPictureDownloaded('https://im0-tub-tr.yandex.net/i?id=047812d8478ce00dab013960b0b3eb17&n=13');
      franaframe.imgGun.PictureList.Add.Assign(resim);
      ms.Clear;
      Next;
    end;
  end;

   except on E: Exception do
   ShowMessage(E.Message);
end;
finally
    ms.Free;
    resim.Free;
end;


end;

İyi çalışmalar dilerim.

Sorunu çözemedim. Bilgim, kapasitem yeterli olmadı. Delphican ve stackoverflowdaki örneklerden de sonuç elde edemedim.
Çözüme ulaşmak için strateji değiştirmek zorunda kaldım.
Resimleri webe yükleyip linkleri postgrese kaydettim. Aşağıdaki kod ile de çekiyorum.
Bahse konu ImageList Orange UI TskinImagelist dir. Url özelliği bulunmaktadır.


var

res:TDrawPicture;

try
try


 datam.uniPostgre.Connected:=True;
 with datam.qrGunler do
  begin
   Close;
   Open;
   First;
   while not (Eof) do
    begin
      FRANAFRAME.imgGun.PictureList.BeginUpdate;
      res:=franaframe.imgGun.PictureList.Add;
      //res.LoadFromStream(ms);
      res.Url:=DataM.qrgunleradres.value;
      franaframe.imgGun.PictureList.endUpdate;
      next;
    end;
  end;

   except on E: Exception do
  // ShowMessage(E.Message);
end;
finally

end;
Genelde telefondan ingilizce klavye ile ileti gönderiyorum.
Cevapla
#3
(29-02-2020, Saat: 23:06)41linea41 Adlı Kullanıcıdan Alıntı:
(29-02-2020, Saat: 10:41)41linea41 Adlı Kullanıcıdan Alıntı: Merhaba

FMX uygulamada aşağıdaki kod windows üzerinde çalışıyor ama android üzerinde çalışmıyor.Aldığım hata:

... exception class segmentetion Fault(11)


Amaç, postgres den resimleri çekip imagelist içine atarak eğitim video 5 1:25 de anlatılanı yapmak.
uygulamayı windows da debug yaparsam sorunsuz çalışıyor. Android de F8 ile uygulamayı çalıştırırsam yukardaki hatayı alıyorum.
F9 ile debug yaparsam hatasız devam ediyor ama resimleri göstermiyor.

Aşağıdaki kod thread içinde çalışıyor ilk açılışta bir defa çalışsın ve açılışı yavaşlatmasın maksadıyla thread içine aldım.

procedure coklu.Execute;
var
ms:TMemoryStream;

Resim:FMX.Graphics.TBitmap;
begin

franaframe.imgGun.PictureList.Clear(true,true);
ms:=TMemoryStream.Create;
resim:= TBitmap.Create();


inherited;
try
try


 datam.uniPostgre.Connected:=True;
 with datam.qrGunler do
  begin
   Close;
   Open;
   First;
   while not (Eof) do
    begin
      TBlobfield(datam.qrgunlerRESIM).SaveToStream(ms);
      ms.Position:=0;
      Resim.LoadFromStream(ms);
      //franaframe.imgGun.PictureList.Add.LoadFromStream(ms); //LoadPictureDownloaded('https://im0-tub-tr.yandex.net/i?id=047812d8478ce00dab013960b0b3eb17&n=13');
      franaframe.imgGun.PictureList.Add.Assign(resim);
      ms.Clear;
      Next;
    end;
  end;

   except on E: Exception do
   ShowMessage(E.Message);
end;
finally
    ms.Free;
    resim.Free;
end;


end;

İyi çalışmalar dilerim.

Sorunu çözemedim. Bilgim, kapasitem yeterli olmadı. Delphican ve stackoverflowdaki örneklerden de sonuç elde edemedim.
Çözüme ulaşmak için strateji değiştirmek zorunda kaldım.
Resimleri webe yükleyip linkleri postgrese kaydettim. Aşağıdaki kod ile de çekiyorum.
Bahse konu ImageList Orange UI TskinImagelist dir. Url özelliği bulunmaktadır.


var

res:TDrawPicture;

try
try


 datam.uniPostgre.Connected:=True;
 with datam.qrGunler do
  begin
   Close;
   Open;
   First;
   while not (Eof) do
    begin
      FRANAFRAME.imgGun.PictureList.BeginUpdate;
      res:=franaframe.imgGun.PictureList.Add;
      //res.LoadFromStream(ms);
      res.Url:=DataM.qrgunleradres.value;
      franaframe.imgGun.PictureList.endUpdate;
      next;
    end;
  end;

   except on E: Exception do
  // ShowMessage(E.Message);
end;
finally

end;

Merhaba,
Yapamadığınız bir iş sizi daha doğru bir yönteme sevk etmiş.
Smile
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


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Android : Tam sayfa splash ekranı nasıl yapılır ? [ GÖRSEL ANLATIM ] Mr.Developer 12 469 07-04-2020, Saat: 18:50
Son Yorum: Mr.Developer
  Android Konum Alamama KUNTAY 7 255 05-04-2020, Saat: 19:16
Son Yorum: KUNTAY
  OrangeUI SkinFMXDBGrid Satırlara Resim Ekleme Hk. pro_imaj 11 639 02-04-2020, Saat: 20:54
Son Yorum: pro_imaj
  Delphi ile Android uygulamalarının bildirimlerini loglamak denem3 0 73 02-04-2020, Saat: 09:35
Son Yorum: denem3
  [ÇÖZÜLDÜ] Restclient Android sürüm kararsızlığı [ÇÖZÜLDÜ] arsl01 5 244 23-03-2020, Saat: 23:38
Son Yorum: arsl01



Konuyu Okuyanlar: 1 Ziyaretçi