Using background listview images in Delphi.

Although it seems easy with some VB code, I cannot
get displaying listview background images to work
in Delphi 4.
I am using Win98 so this cannot be a COMCTL32
version problem and I am using the OleInitialize/
OleUnitialize functions in the unit initialization/
finalization.

I am using following code to use the listview background images :

procedure TForm1.Button1Click(Sender: TObject);
var
  LVBkImg: TLVBkImage;
  ffilename:array[0..255] of char;
  err:integer;

begin
  strpcopy(ffilename,'c:\windows\cloud.gif');
  fillchar(LVBkImg,sizeof(LVBkImg),0);

  LVBkImg.ulFlags := LVBKIF_SOURCE_URL;
  LVBkImg.ulFlags := LVBkImg.ulFlags or LVBKIF_STYLE_NORMAL;
  LVBkImg.hbm := 0;
  LVBkImg.pszImage := ffilename;
  LVBkImg.cchImageMax := 255;
  LVBkImg.xOffsetPercent := 0;
  LVBkImg.yOffsetPercent := 0;

  ListView_SetTextBkColor(ListView1.Handle,$ffffffff);
  ListView_SetBkImage(ListView1.Handle, @LVBkImg);

  {check to see if image was set properly ???}
  fillchar(LVBkImg,sizeof(LVBkImg),0);
  strpcopy(ffilename,'');

  LVBkImg.pszImage:=ffilename;
  LVBkImg.cchImageMax:=sizeof(ffilename);
  Listview_GetBkImage(ListView1.Handle, @LVBkImg);
  messagedlg(strpas(ffilename),mtinformation,[mbok],0);
end;

initialization
  OleInitialize(nil);

finalization
  OleUninitialize;