用ado连接表中存在long raw字段,嵌入ole连接visio,在第一次双击调入visio时,提示“呼叫方拒绝呼叫”,以后再调入时正常
原码如下
function Tfrm_jgbg_pdxlbgdjp.FLoadLawbgh(dataset:Tclientdataset;
lawName:String):boolean;
var stream:Tstream;
begin
result:=false;
OleContainer2.DestroyObject;
OleContainer2.CreateObject('Visio.Drawing',true);
try
Stream:= cds_gis_bgptx_bgh.CreateBlobStream(cds_gis_bgptx_bgh.FieldByName('tx'),bmread);
if stream.Size > 0 then OleContainer2.LoadFromStream(stream);
OleContainer2.DoVerb(ovshow);
finally
stream.Free ;
OleContainer2.Modified :=false;
end;
result:=true;
end;procedure Tfrm_jgbg_pdxlbgdjp.Panel2DblClick(Sender: TObject);
var spid:string;
begin
inherited;
spid:=cds_gis_dwbgp.fieldbyname('sqpid').AsString ;
if spid='' then exit;
self.FLoadLawbgh(cds_gis_bgptx_bgh,'tx'); ////出错
Button4.Enabled:=true;
end;
原码如下
function Tfrm_jgbg_pdxlbgdjp.FLoadLawbgh(dataset:Tclientdataset;
lawName:String):boolean;
var stream:Tstream;
begin
result:=false;
OleContainer2.DestroyObject;
OleContainer2.CreateObject('Visio.Drawing',true);
try
Stream:= cds_gis_bgptx_bgh.CreateBlobStream(cds_gis_bgptx_bgh.FieldByName('tx'),bmread);
if stream.Size > 0 then OleContainer2.LoadFromStream(stream);
OleContainer2.DoVerb(ovshow);
finally
stream.Free ;
OleContainer2.Modified :=false;
end;
result:=true;
end;procedure Tfrm_jgbg_pdxlbgdjp.Panel2DblClick(Sender: TObject);
var spid:string;
begin
inherited;
spid:=cds_gis_dwbgp.fieldbyname('sqpid').AsString ;
if spid='' then exit;
self.FLoadLawbgh(cds_gis_bgptx_bgh,'tx'); ////出错
Button4.Enabled:=true;
end;
解决方案 »
- 如何查看二维码用的是什么标准的二维码啊?
- ToolBar1中的ToolButton1我想调整其高度怎么设置才能调整?
- Delphi 应用程序 打包生成 安装软件 的问题————————在线等待!!!!急急急急!!!!!
- 怎样传文件
- ★★★在panel上动态增加了一些shape控件,如何移除,以便进行刷新?★★★
- 我做了一个组件 已经注册并且在asp下面成功调用,问题就来了
- delphi新手必看——《提问的智慧》
- 原来CSDN菜鸟多。这么简单的问题竟然没人知道??????????????????
- 如何让memo中按下一个key后让这个key不显示?
- for循环
- delhi的发展??
- 提问:在FormCreate,formshow 时可不可以中途退出程序
是不是這句有問題???
lawName:String):boolean;
var stream:Tstream;
begin
result:=false;
stream:=Tstream.Create;
OleContainer1.DestroyObject;
OleContainer1.CreateObject('Visio.Drawing',true);
//调入visio
try
Stream := cds_gis_bgptx_yxl.CreateBlobStream(cds_gis_bgptx_yxl.FieldByName('tx'),bmread);
if stream.Size > 0 then OleContainer1.LoadFromStream(stream);
OleContainer1.DoVerb(ovshow);
except
try
OleContainer1.DoVerb(ovshow);
finally
stream.Free;
OleContainer1.Modified :=false;
end;
end;
result:=true;
end;解决