问题是这样的,我用delphi做了个视频播放的控件,用网页调用这个ocx,当网页关闭的时候,执行了一个方法叫BtnReleaseClick,这里面调用了一个方法,StartCOMService(false),这是从网上下载的,但是等关闭的时候总是说,远程过程调用失败,是怎么回事啊?我把这个StartCOMService()这个方法贴出来给你们看看,是不是这个方法的问题: function Tfreewaymonitor.StartCOMService(const AStart : Boolean):Boolean;
//启动/关闭COM+服务
const
SComApplicationName = 'freewaymonitor'; //我的进程的名字
var
COMAdminCatalog : OleVariant;
CatalogCollection : OleVariant;
i : Integer;
begin
Result := False;
try
COMAdminCatalog := CreateOleObject('COMAdmin.COMAdminCatalog');
CatalogCollection := COMAdminCatalog.GetCollection('Applications');
CatalogCollection.Populate;
//以上执行都正常
for i := 0 to CatalogCollection.Count - 1 do
if CatalogCollection.Item[i].Name = SComApplicationName then
begin
if AStart then
COMAdminCatalog.StartApplication(SComApplicationName)
else
COMAdminCatalog.ShutdownApplication (SComApplicationName);//执行到这里就出错,说远程过程调用失败
Result := True;
Break;
end;
except
end;
end;
//启动/关闭COM+服务
const
SComApplicationName = 'freewaymonitor'; //我的进程的名字
var
COMAdminCatalog : OleVariant;
CatalogCollection : OleVariant;
i : Integer;
begin
Result := False;
try
COMAdminCatalog := CreateOleObject('COMAdmin.COMAdminCatalog');
CatalogCollection := COMAdminCatalog.GetCollection('Applications');
CatalogCollection.Populate;
//以上执行都正常
for i := 0 to CatalogCollection.Count - 1 do
if CatalogCollection.Item[i].Name = SComApplicationName then
begin
if AStart then
COMAdminCatalog.StartApplication(SComApplicationName)
else
COMAdminCatalog.ShutdownApplication (SComApplicationName);//执行到这里就出错,说远程过程调用失败
Result := True;
Break;
end;
except
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货