Hi trying test , I wish to attain a layout of image inside a DBCtrlGrid an hope to use the AysncMode of the imageEn.IO to load pictures in the background in Delphi 6, However I am having problems with this the picture loads as expected however when you close the app it freezed about 1 minute most of the time the form becomes white and unresponsive,. bellow is the goal I wish to attain layout 
 
P.S. it doesn't need to be the exact effects but all i want is an image and can be some text overlay, the shadow and the rounded mask can be ignored this is only an idea
I need to put captions for product names and prices also and bellow here's my test code, the ImageEnView was placed inside the DBCtrlGrid for it to iterate.
object Form1: TForm1
  Left = 192
  Top = 107
  Width = 696
  Height = 480
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  OnShow = FormShow
  PixelsPerInch = 96
  TextHeight = 13
  object DBCtrlGrid1: TDBCtrlGrid
    Left = 16
    Top = 16
    Width = 665
    Height = 417
    ColCount = 5
    PanelHeight = 139
    PanelWidth = 129
    TabOrder = 0
    RowCount = 3
    OnPaintPanel = DBCtrlGrid1PaintPanel
    object ImageEnView1: TImageEnView
      Left = 8
      Top = 8
      Width = 114
      Height = 124
      ParentCtl3D = False
      ImageEnVersion = '3.1.2'
      EnableInteractionHints = True
      TabOrder = 0
    end
  end
  object ADOQuery1: TADOQuery
    Parameters = <>
    Left = 232
    Top = 104
  end
end
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ieview, imageenview, dbcgrids, DB, ADODB;
type
  TForm1 = class(TForm)
    DBCtrlGrid1: TDBCtrlGrid;
    ImageEnView1: TImageEnView;
    ADOQuery1: TADOQuery;
    procedure DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
      Index: Integer);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
  Index: Integer);
begin
        ImageEnView1.IO.AsyncMode := True;
        ImageEnView1.IO.LoadFromURL('http://www.example.com/'+ADOQuery1.fieldbyName('pic_file').AsString+'.jpg');
end;
procedure TForm1.FormShow(Sender: TObject);
begin
        ADOQuery1.Close;
        ADOQuery1.Open;
end;
end.
Can this be possible? or am i using the wrong components to achieve this? the pictures will be in a central network, I wish to use the multi-thread loading because if not the program most of the time hangs when getting many pictures from the server.