Thread View: borland.public.cppbuilder.database.multi-tier
2 messages
2 total messages
Started by Maxim Verbovik
Sat, 20 Nov 1999 00:00
IProvider & IProviderPtr BUG
Author: Maxim Verbovik
Date: Sat, 20 Nov 1999 00:00
Date: Sat, 20 Nov 1999 00:00
31 lines
1347 bytes
1347 bytes
Hi!
After installing update 1 I see some changes in .h and .cpp files, generated
after editing tlb. Some types like IProvider* was changed on IProviderPtr.
Ok. But after that, when client run application server and try get provider
(for example, Table1 in RDM), apps server throw exception.
it's happend because casting NOT work properly in the following code:
STDMETHODIMP TTest1Impl::get_Table1(IProviderPtr* Value)
{
try
{
_di_IProvider IProv = m_DataModule->Table1->Provider;
IProv->AddRef();
*Value = IProv; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
catch(Exception &e)
{
return Error(e.Message.c_str(), IID_ITest1);
}
return S_OK;
};
after changing this string:
*Value = (IProviderPtr)IProv;
all work fine. Where is a bug? In automatic code generation or else?
Re: IProvider & IProviderPtr BUG
Author: Steve Pietrykoski
Date: Mon, 22 Nov 1999 00:00
Date: Mon, 22 Nov 1999 00:00
14 lines
916 bytes
916 bytes
This is a known bug in the code generation. I had hoped it would have been fixed in the second patch, as it seems pretty straightforward to fix. Oh well. Steve Pietrykoski Maxim Verbovik wrote: > after changing this string: > > *Value = (IProviderPtr)IProv; > > all work fine. Where is a bug? In automatic code generation or else?
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads