...я все же лелею надежду, что когда-нибудь увижу TMemoField.DataSize, имеющим значение, отличное от нуля. Может быть значение DataSize является размером части Memo, которая сохранилась в .db-файле? Вместо этого я теперь пользуюсь объектом TBlobStream, который вполне хорошо справляется с этой работой. Все это у меня происходит примерно так:
Var pBuffer : PChar ; Blob : TBlobStream ; begin {FDataField - это TMemoField} Blob := TBlobStream.Create( FDataField, bmRead ) ; try if Blob.Size > 0 then try GetMem( pBuffer, Blob.Size ) ; Blob.Read( pBuffer^, Blob.Size ) ; { что-то тут делаем } FreeMem( pBuffer, Blob.Size ) ; except ShowMessage( 'Нехватка памяти' ); end ; finally Blob.Free end ; |
[001505]