🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#1336
Author: Maxim Verbovik
Date: Sat, 20 Nov 1999 00:00
31 lines
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
#1343
Author: Steve Pietrykoski
Date: Mon, 22 Nov 1999 00:00
14 lines
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