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 9 - Network Bağlantı Uyarısı (ClearText) Fesih ARSLAN 6 1.598 50 dakika önce
Son Yorum: pro_imaj
  android uygulamasında print alma uersoy 4 338 30-07-2020, Saat: 09:13
Son Yorum: Fesih ARSLAN
  android sdk sorunu uersoy 5 544 27-07-2020, Saat: 09:05
Son Yorum: Fesih ARSLAN
  [ÇÖZÜLDÜ]Android derleme hatası[ÇÖZÜLDÜ] arsl01 3 387 15-07-2020, Saat: 22:18
Son Yorum: arsl01
  FMX Android FormX.DisposeOf Exception hayalyilmaz43 10 825 10-07-2020, Saat: 17:57
Son Yorum: hayalyilmaz43



Konuyu Okuyanlar: 1 Ziyaretçi