Solved

Interface Repository

Posted on 2000-03-16
11
165 Views
Last Modified: 2010-04-04
When I try to connect dynamically to a CORBA server I get the following error:

'Could not perform CORBA Dispatch, no interface respository found.'

I figure I havent set up the Interface Respository properly...could someone please walk me through this.
0
Comment
Question by:fiinfo
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 3
11 Comments
 
LVL 15

Expert Comment

by:simonet
ID: 2626046
Is at least one agent started on your network? Remember that you need the VisiBroker agents in order to work with Corba.

Alex
0
 

Author Comment

by:fiinfo
ID: 2626063
Yes the Visibroker SmartAgent is running
0
 

Author Comment

by:fiinfo
ID: 2626098
In my client I have 2 procedures attached to buttons: 1 to demonstrate static binding, the other to demonstrate
dynamic binding. The static binding works, the dynamic does not.


procedure TForm1.btDynamicClick(Sender: TObject);
var
   DynamicFactory: TAny;
   DynamicObject: TAny;
begin
  DynamicFactory := Orb.Bind('IDL:DynamicCorba/dynamicCorbaFactory:1.0');
  DynamicObject := DynamicFactory.CreateInstance('DynamicObject');
  Showmessage(DynamicObject.GetDescription);
end;

procedure TForm1.btStaticClick(Sender: TObject);
var
  FInstance: IdynamicCorba;
begin
  FInstance := TdynamicCorbaCorbaFactory.CreateInstance('Random String');
  showmessage(FInstance.GetDescription);
end;
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 13

Expert Comment

by:Epsylon
ID: 2626149
You have to register Corba objects before you can use them.

Run the Object Activation Daemon and Smart Agent.
Use 'irep' to register the inteface repository (.IDL) of the object
and use 'oadutil' to register the object.

Read the Delphi help on these commands. It's too much too explain it all in detail here.
0
 

Author Comment

by:fiinfo
ID: 2626296
I ran the OAD, and Smart Agent, registered the .idl with 'irep', used 'oadutil' to register the object
(oadutil reg -r IDL:DynamicCorba/dynamicCorbaFactory:1.0 -o TdynamicCorbaFactory -cpp c:delphiprojects/dynamicbinding/DynamicCorba.exe) and still get the same error. If a server is not running, one is created and i get the same error.

This is the .idl generated by Type Library:

module DynamicCorba {
  interface IdynamicCorba {
    wstring GetDescription();
    wstring GetName();
  };

  interface DynamicCorba_Factory {
    ::DynamicCorba::IdynamicCorba    CreateInstance(in string InstanceName);
  };
};

0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2629607
Does Smart Finder find any objects?
0
 

Author Comment

by:fiinfo
ID: 2633884
Yes, it finds my object 'dynamicCorba' and my Respository
0
 
LVL 13

Accepted Solution

by:
Epsylon earned 50 total points
ID: 2634125
What happens when you use the CorbaBind function instead of Orb.Bind:

  DynamicFactory:= CorbaBind('IDL:DynamicCorba/dynamicCorbaFactory:1.0');
0
 

Author Comment

by:fiinfo
ID: 2634138
Yes, it finds my object 'dynamicCorba' and my Respository
0
 

Author Comment

by:fiinfo
ID: 2634142
Same error.

I think I will try starting over again.
0
 

Author Comment

by:fiinfo
ID: 2634212
OK...I redid an example and lo and behold, it works...who knows what was wrong, thanks for your help Epsylon
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question