Hallo #,<p>
ich fummele mir hier gerade einen Wolf mit einem JPeg, das sich in einem Recordset befindet.<br>Erzeugt wird das Record wie folgt (mit Hilfe von Herrn Kosch).
<pre>
procedure TForm1.Button1Click(Sender: TObject);
var
aADOStream : _Stream;
begin
FRecordset := CreateComObject(CLASS_Recordset) as _Recordset;
FRecordset.CursorLocation := adUseClient;
FRecordset.Fields.Append('Field1',adVarChar,10,adF ldUnspecified);
FRecordset.Fields.Append('Field2',adVarChar,10,adF ldUnspecified);
FRecordset.Fields.Append('Field3',adLongVarBinary, 100000,adFldUnspecified);
// Recordset öffnen
FRecordset.Open(EmptyParam, EmptyParam, adOpenUnspecified,
adLockUnspecified, 0);
// immediate update mode anfordern (Edit-Modus des Recordset)
OleVariant(FRecordset).AddNew;
FRecordset.Fields.Item['Field1'].Value := 'Test 1';
FRecordset.Fields.Item['Field2'].Value := 'Test 2';
// Stream-Objekt von ADO lädt die BLOb-Daten
aADOStream := CoStream.Create;
aADOStream.Type_ := adTypeBinary;
aADOStream.Open(EmptyParam, adModeUnknown,
adOpenStreamUnspecified, '', '');
aADOStream.LoadFromFile('C:\WINDOWS\Angler.jpj');
FRecordset.Fields.Item['Field3'].Value := aADOStream.Read(adReadAll);
FRecordset.Update(EmptyParam, EmptyParam);
end;
</pre>
Nun zu der Frage. Ich benötige Höhe und Breite des Jpeg. Das Recordset ist schon offen.<br>
Das müßte doch über TAdoBlobStream + TImage.Picture.LoadFromStream gehen.?<p>
Mit der Bde ist das alles kein Problem. Ich habe aber leider in Recordset.<p>
Kann mir jemand auf die Sprünge helfen mit ein paar Code-Schnipseln ?<br>
Mein Delphi wirft mit unverständlichen Meldungen im sich.
<p>
Danke im voraus<br>
Heiko
ich fummele mir hier gerade einen Wolf mit einem JPeg, das sich in einem Recordset befindet.<br>Erzeugt wird das Record wie folgt (mit Hilfe von Herrn Kosch).
<pre>
procedure TForm1.Button1Click(Sender: TObject);
var
aADOStream : _Stream;
begin
FRecordset := CreateComObject(CLASS_Recordset) as _Recordset;
FRecordset.CursorLocation := adUseClient;
FRecordset.Fields.Append('Field1',adVarChar,10,adF ldUnspecified);
FRecordset.Fields.Append('Field2',adVarChar,10,adF ldUnspecified);
FRecordset.Fields.Append('Field3',adLongVarBinary, 100000,adFldUnspecified);
// Recordset öffnen
FRecordset.Open(EmptyParam, EmptyParam, adOpenUnspecified,
adLockUnspecified, 0);
// immediate update mode anfordern (Edit-Modus des Recordset)
OleVariant(FRecordset).AddNew;
FRecordset.Fields.Item['Field1'].Value := 'Test 1';
FRecordset.Fields.Item['Field2'].Value := 'Test 2';
// Stream-Objekt von ADO lädt die BLOb-Daten
aADOStream := CoStream.Create;
aADOStream.Type_ := adTypeBinary;
aADOStream.Open(EmptyParam, adModeUnknown,
adOpenStreamUnspecified, '', '');
aADOStream.LoadFromFile('C:\WINDOWS\Angler.jpj');
FRecordset.Fields.Item['Field3'].Value := aADOStream.Read(adReadAll);
FRecordset.Update(EmptyParam, EmptyParam);
end;
</pre>
Nun zu der Frage. Ich benötige Höhe und Breite des Jpeg. Das Recordset ist schon offen.<br>
Das müßte doch über TAdoBlobStream + TImage.Picture.LoadFromStream gehen.?<p>
Mit der Bde ist das alles kein Problem. Ich habe aber leider in Recordset.<p>
Kann mir jemand auf die Sprünge helfen mit ein paar Code-Schnipseln ?<br>
Mein Delphi wirft mit unverständlichen Meldungen im sich.
<p>
Danke im voraus<br>
Heiko
Comment