Article View: borland.public.cppbuilder.database.ado
Article #4145Re: ADOMD: How to retrieve "CudeDef" object from "CubeDefs" collection?
From: Vassiliev V.V.
Date: Wed, 27 Mar 2002 09:20
Date: Wed, 27 Mar 2002 09:20
61 lines
3288 bytes
3288 bytes
���� �� �����, Catalog1->CubeDefs->get_Item(I) ���������� CubeDef25. �
��������, ����� �������� ��������� �� IDispatch (��� IUnknown), � �� ����
QueryInterface �� CubeDef - ��� � ������ �������� as � Catalog1.CubeDefs[I]
as CubeDef.
IDispatch * disp = NULL;
disp = Catalog1->CubeDefs->get_Item(I);
disp->QueryInterface(IID_CubeDef, (void**)&CubeDef1);
disp->Release();
�������� �.�.
"Sorokoletov Gregory" <gsorokoletov@sovintel.net> �������/�������� �
�������� ���������: news:3ca052df$1_2@dnews...
>
> How can I retrieve "CudeDef" object from "CubeDefs" collection?
>
> I Delphi it is possible in the following way:
>
> var
> Catalog1: ICatalog;
> CudeDef1: CubeDef;
> I: Integer;
>
> Catalog1 := CoCatalog.Create;
> Catalog1._Set_ActiveConnection(OleVariant(DataSource)); // DataSource -
> connection string
> for I:= 0 to Catalog1.CubeDefs.Count- 1 do
> begin
> CudeDef1= Catalog1.CubeDefs[I] as CubeDef;
>
> // here we use the CubeDef object;
> TreeView1.Items.AddChild(RootNode, CubeDef1.Name);
> end;
>
> But when in C++ Builder I wrote:
>
> WideString DataSource= "Provider=MSOLAP.2;
> Integrated Security=SSPI;
> Persist Security Info=False;
> Data Source=ARISXXXXX;
> Initial Catalog=FoodMart
2000;
> Client Cache Size=25";
> Catalog1->set_ActiveConnection(DataSource);
> TCOMCubeDefs CubeDefs1= Catalog1->CubeDefs;
> TCOMCubeDef25 CubeDef1;
> //CubeDefs *CubeDefs1= Catalog1->CubeDefs;
> //CubeDef *CubeDef1;
> for(I= 0; I < CubeDefs1->Count; I++)
> {
> CubeDef1= Catalog1->CubeDefs->get_Item(I); // here will be error!
> // CubeDef1= Catalog1->CubeDefs[I];
> TreeView1->Items->AddChild(RootNode, CubeDef1->Name);
> }
>
> I get error: access violation :((((((((((((((((((!!!
>
> Please explain my where is my error!
>
>
Technical Details
Message-ID:
<3ca193c5_2@dnews>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!62.24.128.9.MISMATCH!news-1.opaltelecom.net!newsfeed.icl.net!newsfeed1.cidera.com!Cidera!news-hog.berkeley.edu!ucberkeley!nntp-relay.ihug.net!newsfeeds.ihug.co.nz!ihug.co.nz!dnewsReferences:
<3ca052df$1_2@dnews>Show Full Headers
Complete Article Headers
X-Google-Language: UKRAINIAN,KOI8R X-Google-Thread: 10698b,c870f68434c1f204 X-Google-Attributes: gid10698b,public X-Google-ArrivalTime: 2002-03-27 01:54:06 PST From: "Vassiliev V.V." <vv_vas@iname.com> Newsgroups: borland.public.cppbuilder.database.ado References: <3ca052df$1_2@dnews> Subject: Re: ADOMD: How to retrieve "CudeDef" object from "CubeDefs" collection? Date: Wed, 27 Mar 2002 12:20:40 +0300 Lines: 63 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 NNTP-Posting-Host: 62.118.134.38 Message-ID: <3ca193c5_2@dnews> X-Trace: dnews 1017222085 62.118.134.38 (27 Mar 2002 01:41:25 -0800) Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!62.24.128.9.MISMATCH!news-1.opaltelecom.net!newsfeed.icl.net!newsfeed1.cidera.com!Cidera!news-hog.berkeley.edu!ucberkeley!nntp-relay.ihug.net!newsfeeds.ihug.co.nz!ihug.co.nz!dnews