OleVariant怎么转化为string(0分)

  • 主题发起人 主题发起人 hpboy
  • 开始时间 开始时间
H

hpboy

Unregistered / Unconfirmed
GUEST, unregistred user!
OleVariant怎么转化为string?
 
直接asstring,最好TRIM一下
 
没明白`~~`
 
to张无忌,不行吧?如下为例子?
uses comobj;
procedure TForm1.Button1Click(Sender: TObject);
var
aa: OleVariant;
begin
aa := CreateOleObject('Word.Application');
Caption := aa.AsString;//出错。
end;

如果你是说
var aa: OleVariant
bb: String;
bb:=aa;//这样也许可以,如果OleVariant里面是String的话。
 
Caption := aa.AsString;//出错
aa有个属性就是他的标题,找资料把
 
对于Word的不用找资料了,俺已经摸出来了,如下:
aa.Caption := '这个是标题';
Doc_Handle.ActiveWindow.Caption := '这个是前面的标题'
我说的意思是:对于不同的OleVariant,不是同一个办法获得的,需要Com的支持才能获得
 
这样就行了,我作过用OLE直接连SQL SERVER,一样连接,没什么问题
 
连接可以,但是获得字符串呢?
 
用ADORECORD对象,他有这个属性
 
那仅仅是一个OleVariant,不是所有的呀。其他的OleVariant呢?
 
OleStrToString也许有用。不过应该是仅仅能够转换oleStr。
 
不是所有的OleVariant都可以转换成string吧,
再说如果不是string,转化成string也没什么意义
 
你需要一个在文档里没有提到的函数:
VariantArrayToString(V: OleVariant)
定义在DSIntf.pas中.
 
to lld,谢谢,应该是这个,不过我获得上面的aa.Caption不行呀。
 
VariantArrayToString仅仅对 varByte + varArray的OleVariant有效,
主要用作TClientDataSet.Data的转换,其他的情况需具体分析具体解决,
没有万能钥匙.
 
接受答案了.
 
后退
顶部