Einzelnen Beitrag anzeigen

Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#16

Re: Bild in TImage --> jpeg-Fehler #52

  Alt 1. Aug 2006, 13:56
mmm asche auf mein haupt, war ne kleine fehlinfo dabei, in dem teil arbeite ich gar nicht mit den indys sondern habe da ne funktion gefunden welche ich an meine bedürfnisse angepasst habe, die ganze funktion schaut so aus eventuell hilft das weiter

Delphi-Quellcode:
function DownloadURL(const aUrl: string; bildart: string): Boolean;
var
  hSession: HINTERNET;
  hService: HINTERNET;
  lpBuffer: array[0..1024 + 1] of Char;
  dwBytesRead: DWORD;
  aStream : TFileStream;
begin
  Result := False;
  hSession := InternetOpen('MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    if Assigned(hSession) then begin
      hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, 0, 0);
      if Assigned(hService) then
        try
          aStream := TFileStream.Create('temp_bild'+ ExtractFileExt(aURL), fmCreate);
          while True do begin
            dwBytesRead := 1024;
            InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead);
            if dwBytesRead = 0 then break;
            lpBuffer[dwBytesRead] := #0;
            aStream.WriteBuffer(lpBuffer, dwBytesRead);
          end;
          aStream.Position := 0;

          // JPG
          if bildart = 'jpgthen begin
          try
            Form2.Image1.Visible := true;
            form2.image1.Picture.Graphic.LoadFromStream(aStream);
            except
               // showmessage('fehler'); // jpeg-Fehler #52
               on E: Exception do showmessage('Fehler beim Laden des Artikelbildes');
            end;
          end;

          // Gif
          if bildart = 'gifthen begin
            Form2.Image2.Visible := true;
            form2.image2.Picture.Graphic.LoadFromStream(aStream);
          end;

          Result := True;
        finally
          FreeAndNil(aStream);
          InternetCloseHandle(hService);
        end;
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;
Jens
  Mit Zitat antworten Zitat