请求高手翻译PASCAL

nickgg 2006-06-28 02:45:55
下面的Delphi函数怎么翻译到C++Builder?
//$BCB\Source\VCL\ScktMain.pas
function TSocketDispatcherThread.CreateServerTransport: ITransport;
var
SocketTransport: TSocketTransport;
begin
SocketTransport := TSocketTransport.Create;
SocketTransport.Socket := ClientSocket;
SocketTransport.InterceptGUID := FInterceptGUID;
Result := SocketTransport as ITransport;
end;

多谢!!
...全文
142 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
VirtualDesktop 2006-06-29
  • 打赏
  • 举报
回复
接分~呵呵~
BlueDeepOcean 2006-06-28
  • 打赏
  • 举报
回复
恭喜楼主自己解决了,接分了。
nickgg 2006-06-28
  • 打赏
  • 举报
回复
自己解决了!
发现_di_ITransport不等价于ITransport *但等价于Delphi的ITransport!!!

_di_ITransport TSocketDispatcherThread::CreateServerTransport(void)
{
TSocketTransport* SocketTransport=NULL;

SocketTransport =new TSocketTransport();
SocketTransport->Socket = ClientSocket;
SocketTransport->InterceptGUID = FInterceptGUID;
return *SocketTransport ;
}
DeadWolf 2006-06-28
  • 打赏
  • 举报
回复
ITransport* TSocketDispatcherThread::CreateServerTransport()
{
TSocketTransport* SocketTransport=NULL;

SocketTransport =new TSocketTransport();
SocketTransport->Socket = ClientSocket;
SocketTransport->InterceptGUID = FInterceptGUID;
return (ITransport*)SocketTransport ;
}
BlueDeepOcean 2006-06-28
  • 打赏
  • 举报
回复
晕,写习惯了,顺手就加了一个*,但是也没什么,你可以在函数的返回类型前面再加一个嘛。
nickgg 2006-06-28
  • 打赏
  • 举报
回复
楼上的ITransport 与 (ITransport*)匹配吗?
BlueDeepOcean 2006-06-28
  • 打赏
  • 举报
回复
ITransport __fastcall TSocketDispatcherThread::CreateServerTransport(void)
{
TSocketTransport *SocketTransport = new TSocketTransport;
SocketTransport->Socket = ClientSocket;
SocketTransport->InterceptGUID = FInterceptGUID;
return (ITransport*)SocketTransport;
}

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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