halloooo <br>
folgendes problem ... ich möchte aus einer access datenbank die ein OLE-Objekt feld besitzt das bild in eine BMP datei speichern. natürlich habe ich vorher im forum mich umgeschaut, ob es nicht noch andere "glückliche" mit diesem problem gibt. prompt auch fündig geworden und das programm konnte auch problemlos kompiliert werden. nun öffne ich mit einem bildbetrachter die datei und der erkennt kein gültigen header.<br>
in einen der posting stand, dass der adoblobstream auf position 78 gesetzt werden muss, damit der ole-header "übersehen" wird. kann es sein das bei mir der ole-header größer/kleiner ist? ich habe win2000, nutze delphi 5.1 ent. und habe mdac 2.7x (das aktuellste ... bin mir gerade nicht sicher).<br>
vielleicht hilft das listing weiter um mein fehler zu erkennen:<br>
<PRE>
procedure TForm1.Button1Click(Sender: TObject);
var
fs : TFileStream;
aBS : TADOBlobStream;
begin
if not (ADOQuery1.State in [dsBrowse]) then
Exit;
aBS := TADOBlobStream.Create(ADOQuery1Foto, bmRead);
try
aBS.Seek(0, soFromBeginning);
fs := TFileStream.Create('c:\test.bmp', fmCreate);
try
fs.CopyFrom(aBS, (aBS.Size));
finally
fs.Free;
end
finally
aBS.Free;
end;
end;
</PRE>
gruss
folgendes problem ... ich möchte aus einer access datenbank die ein OLE-Objekt feld besitzt das bild in eine BMP datei speichern. natürlich habe ich vorher im forum mich umgeschaut, ob es nicht noch andere "glückliche" mit diesem problem gibt. prompt auch fündig geworden und das programm konnte auch problemlos kompiliert werden. nun öffne ich mit einem bildbetrachter die datei und der erkennt kein gültigen header.<br>
in einen der posting stand, dass der adoblobstream auf position 78 gesetzt werden muss, damit der ole-header "übersehen" wird. kann es sein das bei mir der ole-header größer/kleiner ist? ich habe win2000, nutze delphi 5.1 ent. und habe mdac 2.7x (das aktuellste ... bin mir gerade nicht sicher).<br>
vielleicht hilft das listing weiter um mein fehler zu erkennen:<br>
<PRE>
procedure TForm1.Button1Click(Sender: TObject);
var
fs : TFileStream;
aBS : TADOBlobStream;
begin
if not (ADOQuery1.State in [dsBrowse]) then
Exit;
aBS := TADOBlobStream.Create(ADOQuery1Foto, bmRead);
try
aBS.Seek(0, soFromBeginning);
fs := TFileStream.Create('c:\test.bmp', fmCreate);
try
fs.CopyFrom(aBS, (aBS.Size));
finally
fs.Free;
end
finally
aBS.Free;
end;
end;
</PRE>
gruss
Comment