procedure TMainForm.GetDevCapsPaperNames;
var
  PaperNames: Pointer;
  i: integer;
begin
{$R-}
  lbPaperTypes.Items.Clear;
  Rslt := DeviceCapabilitiesA(Device, Port, DC_PAPERNAMES, nil, nil);
  if Rslt > 0 then begin
    GetMem(PaperNames, Rslt*64);
    try
      if DeviceCapabilitiesA(Device, Port, DC_PAPERNAMES,
      PaperNames, nil) = - 1 then
        raise Exception.Create('DevCap Error');
      for i := 0 to Rslt - 1 do
       lbPaperTypes.Items.Add(StrPas(TPNames(PaperNames^)[i]));
    finally
      FreeMem(PaperNames, Rslt*64);
    end;
  end;
{$R+}
end;