title image


Smiley Eigenartige Windows-eigene Datei: ein Gif-Bild ist fehlerhaft..
Hi Leute,



wenn ich versuche mittels GifImage (Unit) -> http://finn.mobilixnet.dk/delphi/



folgende Datei öffne, knallt es:



%windir%\pchealth\helpctr\System\Remote Assistance\Interaction\Client\DividerBar.gif



Es ist ein ganz normale, nicht animierte Gif-Datei. Es ist die einzige im System, welche den Fehler verursacht.



Laden tue ich mit folgender Anweisung:





function Load_ANY_Graphic(Filename: string; var Dummy_Pic: TBitMap): Boolean;

var

OleGraphic: TOleGraphic;

fs: TFileStream;

begin

Result := False;

if FileExists(Filename) then

try

OleGraphic := TOleGraphic.Create;

fs := TFileStream.Create(Filename, fmOpenRead or fmSharedenyNone);

OleGraphic.LoadFromStream(fs);

Result := ConvertOLEGraphic2Bmp(OleGraphic, Dummy_Pic);

finally

if Assigned(@fs) then

fs.Free;

if Assigned(@OleGraphic) then

OleGraphic.Free;

end;

end;



function ConvertOLEGraphic2Bmp(aGraphic: TOleGraphic; var Dummy_Pic: TBitMap): Boolean;

begin

Result := False;

try

Dummy_Pic.PixelFormat := pf24bit;

if (aGraphic.Width < 1) or (aGraphic.Height < 2) then

Exit;

Dummy_Pic.Width := aGraphic.Width;

Dummy_Pic.Height := aGraphic.Height;

Dummy_Pic.Canvas.Draw(0, 0, aGraphic);

Result := True;

except

end;

end;





Hier knallt es ganz schlimm, wenn diese Datei geöffnet wird:

OleGraphic.LoadFromStream(fs);



Aufruf für ein TImage:

(uses gifimage nicht vergessen)



var

aBmp :TBitmap;

begin

aBmp := TBitmap.Create;

if Load_ANY_Graphic('c:\windows\pchealth\helpctr\System\Remote Assistance\Interaction\Client\DividerBar.gif', aBmp) then

image1.picture.assign(abmp);

if assigned(abmp)then

abmp.free;

end;



Wer es ausprobieren kann/möchte, bitte den Pfad zum Windows-Ordner beachten. Ich habe hier ein WinXP Pro mit SP2.





Edit:



Hier hab ich mal ein test hochgeladen: (source+bin)

http://www.nogad.de/_tmp/test_gif_wxp.zip

Die Datei bleibt bis zum 28.Februar 2006 abrufbar, wird anschließend gelöscht.



Gruß
~Mathias
..   ————————————————————————————————————————
..
..   Private Seite: http://www.nogad.de
..
..   ————————————————————————————————————————
..
..   Pension Fiege - Inhaber Monika Fiege
..   Kranichfelder Straße 68
..   99097 Erfurt
..
..   Tel: +49 361 41 38 39
..   Fax: +49 361 42 150 87
..
..   www.Pension-Fiege.de
..
..   ————————————————————————————————————————


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: