Solved

Interface Repository

Posted on 2000-03-16
11
163 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
  • 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
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Convert GUI app into console app for Win32 Env 5 109
Multiple image collision 13 80
Drag & Drop... Data from one grid to another 2 40
DBCtrlGrid, Delphi, Scroll 7 26
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

809 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