1

first time on SO though I've used the site a lot, I will get straight to the point.

My actual end goal is to create an object which inherits from the IDispatch interface in C# which can be used in Canvases inside of Oracle Forms Builder (Oracle Developer Suite 10g (10.1.2.0.2))

Does anyone have any resources where I can learn how to do this or where any examples of this are shown?

In order to achieve my goal thus far I went to this site : http://www.codeproject.com/Articles/24089/Create-ActiveX-in-NET-Step-by-Step

Here I got some code which allowed me to create and test an activeX object. I believe that all objects utilized by the COM structure. I then registered this using regasm and then I tried to call it. I was able to call it successful in IE.

I was about to recreate this active X object after some time; however, whenever I attempt to import it to Oracle forms I got an error like:

enter image description here

To me the error seems very clear, I obviously did not implement some method that oracle forms needs me to implement. What are the methods I need to implement and how should it be implemented.

Sorry for the long question, any help regarding this will be appreciated.

hichris123
  • 10,145
  • 15
  • 56
  • 70
Aelphaeis
  • 2,593
  • 3
  • 24
  • 42
  • Oracle Forms Builder just needs an "ActiveX Control". If you successfully run this control in IE, it should work in there. Are you sure it's not a 32/64-bit issue? – Simon Mourier Aug 06 '13 at 13:55
  • I don't believe that this is a 32/64 bit issue because of the nature of the error message. I did a quick google search and nothing I read on the first page indicated any possibility of 32/64 bit issues. Furthermore, I recompiled the code to the x86 platform and I got the same error. – Aelphaeis Aug 07 '13 at 13:29
  • 32/64 bit issues are not only related to compilation, it can be also a registration issue. The error message is a pretty generic one – Simon Mourier Aug 07 '13 at 13:56
  • I see, to be honest I have haven't had any serious issues regarding 32/64 bit compatibility on this project; however, I also know that I do not have a VIEWER method implementation in the OLE object so I'm quite sure that I need to implement some interface I don't know about. – Aelphaeis Aug 07 '13 at 17:22
  • If it works in IE, it should be ok. Otherwise you can implement ICustomQueryInterface to trace QI calls and see if you see something related. – Simon Mourier Aug 08 '13 at 05:34

1 Answers1

1

I suggest you start by reading this description in MSDN of the interfaces which ActiveX controls may expose.

You will need to implement at least the minimum functionality (i.e. minimal set of interfaces) to keep the Oracle Forms Builder happy. Just implementing IDispatch is not sufficient.

Chris Dickson
  • 11,964
  • 1
  • 39
  • 60