Autor Téma: ListBox ItemData.Bitmap zrada v XE10.1 Berlin  (Přečteno 3988 krát)

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 116
  • Karma: 1
    • Verze Delphi: D7, XE7
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #15 kdy: 15-09-2016, 23:12:19 »
A jak vypadá LoadBitmapFromBlob() ? Protože ji nějak ve zdrojácích nemohu najít...

Kód: Delphi [Vybrat]
  1. Procedure LoadBitmapFromBlob(Bitmap: TBitmap; Blob: TBlobField);
  2. var
  3.   ms, ms2: TMemoryStream;
  4. begin
  5.   ms := TMemoryStream.Create;
  6.   try
  7.     Blob.SaveToStream(ms);
  8.     ms.Position := 0;
  9.     Bitmap.LoadFromStream(ms);
  10.   finally
  11.     ms.Free;
  12.   end;
  13. end;
  14.  

Ale myslim ze to s tym nesuvisi, lebo ak chcem obrazok natiahnut napriklad do TImage ktory si vytvorim za behu tak to funguje normalne

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 820
  • Karma: 20
    • Verze Delphi: D2007, XE2, XE6
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #16 kdy: 16-09-2016, 07:48:11 »
Pokud  se to v XE7 ukládá dobře pro

Kód: Delphi [Vybrat]
  1. LoadBitmapFromBlob(Item.ItemData.Bitmap , TBlobField(FDQuery1.FieldByName('logo')));

a Item <> nil a Item.ItemData <> nil  tak zbývá jen Item.ItemData.Bitmap, což je property (ale zírám so zdrojáku Seattle, jiné D momentálně teď nemám k dispozici) a to prostě jen nabírá obrázek, viz

Kód: Delphi [Vybrat]
  1. FItem.FBitmap.Assign(Bitmap);

Pokud nemáš zdroják, tak to jedině zkusit příkaz rozložit, bitmapu načíst do extra proměnné a přiřadit vně LoadBitmapFromBlob() a to všechno jde určitě odkrokovat.

Buď je obrázek z DB datově špatně, anebo je konstrukce špatně... :(

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 116
  • Karma: 1
    • Verze Delphi: D7, XE7
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #17 kdy: 16-09-2016, 08:03:08 »
No ale nemas pravdu lebo:

Kód: Delphi [Vybrat]
  1. LoadBitmapFromBlob(Item.ItemData.Bitmap , TBlobField(FDQuery1.FieldByName('logo')));  // moj povodny riadok
  2. //doplnim toto
  3. Image1.Bitmap:= Item.ItemData.Bitmap;  // do formu som vlozil obycajny TImage a priradim mu Bitmap z Item.Data
  4.  


Vysledok:  V tej ListBox Item sa  obrazok nezobrazi ale v Image1 Ano
Teda ten Bitmap nieje nil, je nacitany spravne atd ...




Offline JaroB

  • Guru
  • *****
  • Příspěvků: 820
  • Karma: 20
    • Verze Delphi: D2007, XE2, XE6
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #18 kdy: 16-09-2016, 08:09:09 »
Takže jen chyba vykreslení?
A co StyleLookup, má jeho změna vliv na vykreslení listboxu? Resp. kde je definován 'listboxitemnodetail' ?

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 116
  • Karma: 1
    • Verze Delphi: D7, XE7
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #19 kdy: 16-09-2016, 08:36:26 »
Asi ano, no nech tam dam akykolvek StyleLookup vysledok je rovnaky. Ak si tu item vytovrim v IDE a priradim jej ten StyleLookup rucne v object inspectore tak to zrazu funguje.

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 820
  • Karma: 20
    • Verze Delphi: D2007, XE2, XE6
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #20 kdy: 16-09-2016, 09:08:24 »
Style se přiřadí před vložení bitmapy nebo po?
Ale v Seattle jsem nenašel definici 'listboxitemnodetail' :(

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 116
  • Karma: 1
    • Verze Delphi: D7, XE7
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #21 kdy: 16-09-2016, 09:43:58 »
Style se přiřadí před vložení bitmapy nebo po?
Ale v Seattle jsem nenašel definici 'listboxitemnodetail' :(

Vyriesene ten StyleLookup treba nastavit po nacitani bitmapy !
Zaujimave ze v XE7 to nieje problem ... pre taketo veci sa ma na to clovek chut vykaslat a ist kopat kanaly  :-[
Na toto je aj debugger kratky

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 1869
  • Karma: 92
    • Verze Delphi: D2007, XE3, DX10
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #22 kdy: 16-09-2016, 09:51:06 »
Ale v Seattle jsem nenašel definici 'listboxitemnodetail' :(
Ono je to jmeno stylu, ktery je v souboru *.style a ja takove styly v adresari Redist/styles/fmx v XE10.0 mam, ale jsou pro Windows...

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 820
  • Karma: 20
    • Verze Delphi: D2007, XE2, XE6
Re:ListBox ItemData.Bitmap zrada v XE10.1 Berlin
« Odpověď #23 kdy: 16-09-2016, 09:59:59 »
No, má chyba :( hledal jsem kde je to jméno explicitně použito :(

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: