Ich habe in meinem Projekt ein Report an den eine Grafik übergeben wird, unter Delphi 2007
funktioniert noch alles einwandfrei. Seit der Umstellung auf Delphi 2009 mit Rave 7.6.2 BE
klappt es nicht mehr bzw. bei einer Grafik geht es, wählt man eine andere erhält man eine
Zugriffsverletzung. Bei den Grafiken handelt es sich jeweils um JPEG Dateien mit einer
Auflösung von 250x75 Pixel, die Dateigröße beträgt einmal ca. 40 KB (Diese Datei wird übergeben)
bei der Anderen ca. 4 KB (Bei dieser Datei gibt es die Zugriffsverletzung).
Ich habe auch eine weitere Grafik ausprobiert um auszuschließen das die Grafik selbst korrupt ist,
aber auch bei einer anderen Grafik erhalte ich immer die Zugriffsverletzung.
Ich bin mit dem Debugger durch den Quelltext gelaufen und der Fehler tritt bei Connection.WriteBlobData
auf, ich habe jedoch keine Idee wieso bzw. wie ich das ändern muss.
Delphi-Quellcode:
procedure TfrmCertificate.RvCustomConHeaderGetRow(Connection: TRvCustomConnection);
var
MemStream: TMemoryStream;
Bitmap: TBitmap
begin
MemStream := TMemoryStream.Create;
try
Bitmap := TBitmap.Create;
try
try
if Assigned(imgSignature.Picture.Graphic)
then begin
//Unterschriftdatei zuweisen
Bitmap.Assign(imgSignature.Picture.Graphic);
//'Unterschrift'
Connection.WriteStrData('
', '
');
end
else begin
//'leer' Bitmap erzeugen...
Bitmap.PixelFormat := pf4bit;
Bitmap.Width := 2;
Bitmap.Height := 2;
//'Unterschrift'
Connection.WriteStrData(cmbSignature.Text, '
');
end;
{else}
Bitmap.SaveToStream(MemStream);
Connection.WriteBlobData(MemStream.Memory^, MemStream.Size);
except
on E:
Exception do ShowMessage(E.
Message);
//Bitmap ungültig
end;
finally
Bitmap.Free;
end;
finally
MemStream.Free;
end;
end;
Mittlerweile glaube ich das Rave Report 7.6.2 sowas von total verbuggt ist und ich mich frage wieso es kein Update gibt.
mfg
TUX