Moin,
auf der Microsoft Support Seite habe ich folgenden
Code für Visual Basic .NET zum Thema
"How To Read and Write BLOB Data by Using
ADO.NET with Visual Basic .NET"
gefunden.
Code:
...
Dim myRow As DataRow
myRow = ds.Tables("MyImages").Rows(0)
Dim MyData() As Byte
MyData = myRow("imgField")
Dim K As Long
K = UBound(MyData)
Dim fs As New FileStream _
("C:\
winnt\Gone Fishing2.BMP", FileMode.OpenOrCreate, _
FileAccess.Write)
fs.Write(MyData, 0, K)
fs.Close()
Jetzt habe ich diesen folgendermaßen nach Delphi .NET übersetzt
Delphi-Quellcode:
var
MyData:
array of Byte;
fs: FileStream;
myRow: DataRow;
K: LongInt;
begin
myRow := ds.Tables['
MyTables'].Rows[0];
MyData := myRow['
imgField'];
//<-- hier sagt er 'Inkompatible Typen' !!?
K := length(MyData);
fs := FileStream.Create('
C:\winnt\Gone Fishing2.BMP', FileMode.OpenOrCreate, FileAccess.
Write);
fs.
write(MyData, 0, K);
fs.close;
end;
Jetzt hab ich nurnoch die Daten etwas angepasst, weil ich natürlich eine andere Tabelle verwende. Aber das Prinzip ist das selbe.
In der Zeile in der die Daten auf MyData zugewiesen werden sollen gibt er die o.g. Meldung aus, dass die Typen inkompatibel seien.
Was habe ich hier verkert gemacht?