com调用问题,高分求助个位大哥.....+50,特急!在线等待 ( 积分: 50 )

  • 主题发起人 主题发起人 xgvpxy
  • 开始时间 开始时间
X

xgvpxy

Unregistered / Unconfirmed
GUEST, unregistred user!
我想调用一个外部的程序进行一些操作,可是调用外部程序的代码是用C写的..我不太清楚任何把它转换成DELPHI上来用:
代码如下:
CComPtr<IPSExchange> psx = CoCreateInstance(__uuidof(PSExchange),NULL,CLSCTX_SERVER);
psx->Attach();
psx->put_Option(&quot;INPUT_FILE&quot;,&quot;e:/a_file&quot;);
psx->put_Option(&quot;OUTPUT_FILE&quot;,&quot;e:/an_output_file&quot;);
psx->put_Option(&quot;DECRYPT_PROE&quot;,&quot;ignored&quot;);
if (!psx->get_CheckOK()) {
if (!psx->Execute()) {
// do some error handling
}
}
psx->Detach();
psx.Release();

应该如何改写呢?
 
我想调用一个外部的程序进行一些操作,可是调用外部程序的代码是用C写的..我不太清楚任何把它转换成DELPHI上来用:
代码如下:
CComPtr<IPSExchange> psx = CoCreateInstance(__uuidof(PSExchange),NULL,CLSCTX_SERVER);
psx->Attach();
psx->put_Option(&quot;INPUT_FILE&quot;,&quot;e:/a_file&quot;);
psx->put_Option(&quot;OUTPUT_FILE&quot;,&quot;e:/an_output_file&quot;);
psx->put_Option(&quot;DECRYPT_PROE&quot;,&quot;ignored&quot;);
if (!psx->get_CheckOK()) {
if (!psx->Execute()) {
// do some error handling
}
}
psx->Detach();
psx.Release();

应该如何改写呢?
 
怎么都没有人回答啊?是不是分太少了..还是问题太难了..谁能告诉我怎么解决这个问题..我把分叫到100去..高手来啊!!!我等着用呢...
 
var psx:IPSExchange;
begin
OleCheck(CoCreateInstance(CLSID_IPSExchange,nil,CLSCTX_SERVER,IID_IPSExchange,psx));
//这里的CLSID_IPSExchange是你类工厂的GUID,IPSExchange是接口的GUID,这些
//你应该导入相应的单元,如果没有的话要自己根据C++头文件改写了。
psx.Attach();
psx.put_Option('INPUT_FILE','e:/a_file');
psx.put_Option('OUTPUT_FILE','e:/an_output_file');
psx.put_Option('DECRYPT_PROE','ignored');
if not psx.get_CheckOK() then
if not psx.Execute() then
// do some error handling
psx.Detach();
psx.Release();
end;
 
var psx:IPSExchange;
begin
Psx:=CoPSexChange.Create as IPSExchange;
psx.Attach();
psx.put_Option('INPUT_FILE','e:/a_file');
psx.put_Option('OUTPUT_FILE','e:/an_output_file');
psx.put_Option('DECRYPT_PROE','ignored');
if not psx.get_CheckOK() then
if not psx.Execute() then
// do some error handling
psx.Detach();
psx.Release();
end;
//这个是COM组件 你在DELPHI导入的时候它会生成一个接口PAS 里边应该有一个类
所以调用CoPSexChange.Create 就可以获得接口 具体类名请参照生成的PAS
 
楼上的两位老大..我就是没有办法找到那个COM组件了..它是一款转换图形的软件..我没有办法找到它提供的COM,我只在它的帮助文件里找到了上面我给出的那些C++代码,我想要把它转成Delphi来用..难到真的就没有办法了吗?
 
在组件服务里可以查看已安装的COM组件,如果找不到就不能调用,要先注册COM组件。
 
To:ruh
组件服务??在哪里存放的?
或许我说的不是很明白,我的意思是说我有一款大公司写的转图软件,它提供了COM的接口例子,就是上面我发的C++代码,而它的COM接口是哪个,放在哪里,我现在都没有办法找到它.
COM组件的文件是不是以.OCX或者是.Dll做为后缀的呢?如果我能找到它的组件,那么我想我应该可以把它写出来了..个位老大,多提供些线索啊..我今天豁出去了..把分加到了+150了.
 
后退
顶部