![]() |
Re: Bild in TImage --> jpeg-Fehler #52
ähm ja das mit der suche hab ich auch grad gemerkt....
Du kannst doch mit den Komponenten, mit denen du das Bild lädst (Indy?), sicher die Umleitung abfangen? und wenn die Umleitung auf default.jpg erfolgt, dann lass es halt sein ^^ Un die Checksumme kannst du dopch auch pber deault.jpg machen, oder meinst du, das ändert sich so schnell? |
Re: Bild in TImage --> jpeg-Fehler #52
das können ja verschiedene bilder sein, shop a hat default.jpg shop b dann keinbild.jpg usw
das ganze ist ja dynamisch deswegen bräuchte ich da was universelles ach ja ich nutze indy |
Re: Bild in TImage --> jpeg-Fehler #52
Ok. in Indy sollte es doch ein OnRedirect geben, oder?
|
Re: Bild in TImage --> jpeg-Fehler #52
stimmt dieser punkt geht an dich :)
stellt sich jetzt nur die frage wie ich das mitten im programm abfragen kann ? also das muß dann ja da irgendwie rein oder ?
Delphi-Quellcode:
// JPG
if bildart = 'jpg' then begin try Form2.Image1.Visible := true; form2.image1.Picture.Graphic.LoadFromStream(aStream); except // showmessage('fehler'); // jpeg-Fehler #52 on E: Exception do showmessage('Fehler'); end; end; |
Re: Bild in TImage --> jpeg-Fehler #52
Nein.
Ich weiss nicht, welche Version der Indys hast, und wie dein restlcihe Implementation aussieht, aber du hast folgende Möglcihketien: - Im OnReconnect den Reconnect abbrechen. Keine Ahnung, was dein IdHTTP1.Get dann zurückliefert. - Im OnReconnect ein Boolean setzen, nach dem Zurückkerhen des Get Boolean prüfen und falls true ergebnis verwerfen - Im OnReconnect dem Ding dein eigenes Fehlerbild unterjubeln, ka ob/wie das geht. |
Re: Bild in TImage --> jpeg-Fehler #52
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 = 'jpg' then 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 = 'gif' then 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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz