🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.database.multi-tier
Article #1336

IProvider & IProviderPtr BUG

#1336
From: 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?
Technical Details
Message-ID: <816m1f$lvn2@forums.borland.com>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fcd2b,6c350979185ac02,start
X-Google-Attributes: gidfcd2b,public
From: "Maxim Verbovik" <mrmax@i.am>
Subject: IProvider & IProviderPtr BUG
Date: 1999/11/20
Message-ID: <816m1f$lvn2@forums.borland.com>
X-Deja-AN: 550982760
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
Organization: Another Netscape Collabra Server User
X-MSMail-Priority: Normal
Newsgroups: borland.public.cppbuilder.database.multi-tier