Hallo,
ich bin hier schier am verzeifeln. Also ich möchte ein im Speicher erzeugtes Bitmap in eine Access Tabelle spreichern. Allerdings gelingt es mit beim besten Willen nicht. Das Listning sieht ungefähr wie folgt aus:
Vor Programmstart wird eine MDB Tabelle angelegt. Das Feld in dem die Bitmap gespeichert werden soll wird u.a. wie folgt angelegt. Beim Anlegen der Tabelle gibt es auch keine Probleme.
vColName := 'GRAPH1'; //
bTable.Columns.Append(vColName, adVarBinary, 0);
Nach dem die Tabelle angelegt wurde, wird sie wie folgt gefüllt.
Var
babs :TMemoryStream;
BMP_BILD1,BMP_BILD2:TBitmap
Begin
BMP_BILD1 :=TBitmap.Create;
BMP_BILD1.Height :=31;
BMP_BILD1.Width :=747;
// Ab hier wird das Bild erstellt bzw auf ihm gezeichnet
//
BMP_BILD1.Canvas.Rectangle( TMP_IZ_VON,20,TMP_IZ_BIS,30);
//
// Ende des Zeichnen
BABS := TMemoryStream.Create();
BMP_BILD1.SaveToStream(BABS);
// Die berühmten 78 Zeichen
//
BABS.Seek(78,sofrombeginning);
BMP_BILD2 :=TBitmap.Create;
// Hier lüft das programm schon auf // einen Fehler
BMP_BILD2.LoadFromStream(babs);
// Die Datenmenge befindet sich
// im State dsInsert
//
DM14.CLFSSTAT.Append;
DM14.CLFSSTAT.Fieldbyname('GRAPH1').Assign(BMP_BIL D2);
DM14.CLFSSTAT.Post;
// Hinterher werden die Bilder wieder gelöscht
//
BMP_BILD1.FreeImage;
BMP_BILD2.FreeImage;
end;
Meine Frage ist nun konkret, was mache ich da falsche und ist der Feldtyp (ACCESS) richtig oder falsch.
Vielen dank vorab für Eure Bemühungen.
Gruss Heiko
ich bin hier schier am verzeifeln. Also ich möchte ein im Speicher erzeugtes Bitmap in eine Access Tabelle spreichern. Allerdings gelingt es mit beim besten Willen nicht. Das Listning sieht ungefähr wie folgt aus:
Vor Programmstart wird eine MDB Tabelle angelegt. Das Feld in dem die Bitmap gespeichert werden soll wird u.a. wie folgt angelegt. Beim Anlegen der Tabelle gibt es auch keine Probleme.
vColName := 'GRAPH1'; //
bTable.Columns.Append(vColName, adVarBinary, 0);
Nach dem die Tabelle angelegt wurde, wird sie wie folgt gefüllt.
Var
babs :TMemoryStream;
BMP_BILD1,BMP_BILD2:TBitmap
Begin
BMP_BILD1 :=TBitmap.Create;
BMP_BILD1.Height :=31;
BMP_BILD1.Width :=747;
// Ab hier wird das Bild erstellt bzw auf ihm gezeichnet
//
BMP_BILD1.Canvas.Rectangle( TMP_IZ_VON,20,TMP_IZ_BIS,30);
//
// Ende des Zeichnen
BABS := TMemoryStream.Create();
BMP_BILD1.SaveToStream(BABS);
// Die berühmten 78 Zeichen
//
BABS.Seek(78,sofrombeginning);
BMP_BILD2 :=TBitmap.Create;
// Hier lüft das programm schon auf // einen Fehler
BMP_BILD2.LoadFromStream(babs);
// Die Datenmenge befindet sich
// im State dsInsert
//
DM14.CLFSSTAT.Append;
DM14.CLFSSTAT.Fieldbyname('GRAPH1').Assign(BMP_BIL D2);
DM14.CLFSSTAT.Post;
// Hinterher werden die Bilder wieder gelöscht
//
BMP_BILD1.FreeImage;
BMP_BILD2.FreeImage;
end;
Meine Frage ist nun konkret, was mache ich da falsche und ist der Feldtyp (ACCESS) richtig oder falsch.
Vielen dank vorab für Eure Bemühungen.
Gruss Heiko
Comment