关于在TypeLibrary中定义函数的问题,在线等待

adventurezl 2003-04-02 06:35:18
新建一个远程数据模块,打开\view\Type Library
在接口Imidas_test中添加一个方法:GetAliases(目的,取得ODBC中所有的数据库别名).函数实现如下:
STDMETHODIMP TMidas_TestImpl::GetAliases(VARIANT* vAliases)
{
TStringList *aList=new TStringList();
int aCount;
Midas_Test->Session1->GetAliasNames(aList);
vAliases=VarArrayCreate(0,aList->Count-1,varVariant);
for (aCount=0;aCount<aList->Count;aCount++)
vAliases[aCount]=aList[aCount];

aList->Free() ;
}
编译出错:“vAliases[aCount]=aList[aCount];”不能将TStringList转化为tagVariant类型。请问如何解决?
...全文
83 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
adventurezl 2003-04-02
  • 打赏
  • 举报
回复
to kingcaiyao(AKing):还是不行
kingcaiyao 2003-04-02
  • 打赏
  • 举报
回复
不好意思, 贴了两次。
kingcaiyao 2003-04-02
  • 打赏
  • 举报
回复
用WideString吧,看代码:
STDMETHODIMP TMidas_TestImpl::GetAliases(WideString* sResult)
{
try
{
TStrings *pList=new TStringList();
Midas_Test->Session1->GetAliasNames(pList);
*sResult=WideString(pList->Text).Detach();
}
catch(Exception &E)
{
if pList delete pList;
return Error(E.Message.c_str(),IID_IYourInterface);
}
return S_OK;
}

在客户端调用时这样调用:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TCOMITest test=CoTest::Create();
TStrings *pList=new TStringList();
WideString S;
test->GetAliases(&S);
pList->Text=String(S);
for(int i=0;i<pList->Count;i++)
{
ShowMessage(pList->Strings[i]);
}
delete pList;
}用WideString吧,看代码:
STDMETHODIMP TMidas_TestImpl::GetAliases(WideString* sResult)
{
try
{
TStrings *pList=new TStringList();
Midas_Test->Session1->GetAliasNames(pList);
*sResult=WideString(pList->Text).Detach();
}
catch(Exception &E)
{
if pList delete pList;
return Error(E.Message.c_str(),IID_IYourInterface);
}
return S_OK;
}

在客户端调用时这样调用:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TCOMITest test=CoTest::Create();
TStrings *pList=new TStringList();
WideString S;
test->GetAliases(&S);
pList->Text=String(S);
for(int i=0;i<pList->Count;i++)
{
ShowMessage(pList->Strings[i]);
}
delete pList;
}

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧