Я пытаюсь передать клиенту объект, созданный на стороне сервера. У меня это работает хорошо, когда я использую c ++ как на стороне сервера, так и на стороне клиента, но у меня не получается, чтобы мой сервер работал корректно с другими языками, такими как .Net, вероятно, он не любит указатели!
Этот серверный код выглядит правильно?
Форма сервера:
.h
class TForm2 : public TForm
{
__published: // IDE-managed Components
TMemo *Memo1;
private: // User declarations
DummyComObj* formDummy;
public: // User declarations
__fastcall TForm2(TComponent* Owner);
IDummyComObj* Getformdummy();
};
.cpp
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
CoCreateInstance( CLSID_DummyComObj,NULL,CLSCTX_ALL,IID_IDummyComObj,(void**)&formDummy);
}
DummyComObj* TForm2::Getformdummy()
{
return formDummy;
}
Server TestComServerImpl:
.cpp
STDMETHODIMP STDMETHODCALLTYPE TServerDidleComTestImpl::GetMyObject(IDummyComObj** outObj)
{
DummyComObj *myDum = Form2->Getformdummy();
*outObj = &myDum;
return S_OK;
}