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 derleme hatası arsl01 0 31 6 saat önce
Son Yorum: arsl01
  FMX Android FormX.DisposeOf Exception hayalyilmaz43 10 295 10-07-2020, Saat: 17:57
Son Yorum: hayalyilmaz43
  Firemonkeydeki nesnelere yeni procedure ekleme emozgun 0 101 03-07-2020, Saat: 07:01
Son Yorum: emozgun
  Ana resim üzerine faklı iconlar ekleme Nese 6 454 22-06-2020, Saat: 21:43
Son Yorum: Nese
  En güncel ve kararlı Android SDK sürümü Abdullah ILGAZ 2 373 21-05-2020, Saat: 19:10
Son Yorum: mcuyan



Konuyu Okuyanlar: 1 Ziyaretçi