var
ns:Tstream;
i:integer;
begin
table1.filter:='SId='''+edit1.text+'''';
table1.filtered:=true;
table1.open;
with Table1 do NS:=CreateBlobStream(Fieldbyname('SFchar'),bmread);
NS.ReadBuffer(fpTemplate2^,ns.size);
showmessage(inttostr(strlen(fpTemplate2)));
showmessage(inttostr(ns.Size));
其中fpTemplate2是pchar类型,我想把SFchar的数据放到fpTemplate2指向的内存中,怎么办啊?在这里其中两个showmessage显示的数据大小不一样啊,为什么啊?
ns:Tstream;
i:integer;
begin
table1.filter:='SId='''+edit1.text+'''';
table1.filtered:=true;
table1.open;
with Table1 do NS:=CreateBlobStream(Fieldbyname('SFchar'),bmread);
NS.ReadBuffer(fpTemplate2^,ns.size);
showmessage(inttostr(strlen(fpTemplate2)));
showmessage(inttostr(ns.Size));
其中fpTemplate2是pchar类型,我想把SFchar的数据放到fpTemplate2指向的内存中,怎么办啊?在这里其中两个showmessage显示的数据大小不一样啊,为什么啊?
Stream: TBlobStream;
fptemplate2:pchar;
stream:=Tblobstream(table.CreateBlobStream(table.FieldByName(fieldname),bmread));
memsize:=stream.Size;
inc(memsize);
fptemplate2:=allocmem(memsize);
Stream.Seek(0, soFromBeginning);
stream.Read(buffer^,memsize);
用其read ,write,seek等方法。
soFromBeginning指的是什么阿?
showmessage(intostr(memsize));
得到的结果不一样阿?