I posted this on another forum but received no good answer, so I thought I would try this one. My binary behavior, which has been working for several years on IE6, will not run on IE7. The specific symptoms are as follows:
1. (both IE6 and IE7) The dll is loaded and initialized.
2. (both IE6 and IE7) The IClassFactory interface is called and the IElementBehaviorFactory interface is located.
3. (IE6) IElementBehaviorFactory::FindBehavior is called and the IElementBehavior interface is instantiated and returned. Normal processing of the behavior then takes place.
3. (IE7) IElementBehaviorFactory::Release is called to release the interface. The behavior is not instantiated and no further processing of it takes place.
It is obvious that IE7 has found the behavior, but has decided not to run it. This would appear to be a security problem except that a) I am running it as an intranet site with every listed option enabled and b) the dll does get loaded which negates any security. I have actually run the code directly off DllMain, but at that point I cannot read the web page to get needed information.
I have come up with several possibilities but after a lot of searching I cannot come up with the answers to these questions:
A. Is there an interface I need to implement in my code that was not required for IE6 IE7 looks for about 35 interfaces before looking for IElementBehaviorFactory. Many, but not all, were searched for by IE6. None of them are implemented in my code.
B. Do I have to make a change to my web page that implements this behavior There were changes to CSS implementation, but I don't know enought about CSS to know whether they affect my implementation. The complete basic web page that will implement this behavior in IE6 is as follows:
<HTML>
<HEAD>
<OBJECT ID=behave1 CLASSID="clsid:028E47E6-47F6-4a47-9BAA-D5C81759C64C"
CODEBASE="client.cab#version=2,0,2,5"> </OBJECT>
</HEAD>
<BODY>
<P ID="bill;10.20.30.40" STYLE="behavior: url(#behave1);" </P>
</body>
</html>
C. Is there a bug in IE7 that causes this behavior not to run I have been told that it runs other binary behaviors.
D. Is there any other way to get help on this problem One reply to a previous post talks about a "repro". What is this
Any help I can get on this problem would be greatly appreciated.
Bill Stewart

Binary behavior does not work in IE7
seprice
Tom,
Works on my machine. I get the empty box and the program does not die.
I am using - IE7 version 7.0.5730.11 with XP Professional with SP2.
Bill Stewart
whatupboo
The web page sample I gave would not work unless my behavior was installed and registered. However I can see no reason for IE7 to die.
Bill Stewart
elgor
I have problems with loading Activex object(s) under Ie7.
IE7 silently dies when I try to open for example the web page sample you provided above.
Any ideas
FaheemKhan
Bill,
I have a problem that my IE7 (XP Sp2) dies with any .HTM page referring to OBJECT that has not been installed + registered by hand (meaning with a command REGSVR32 name.ocx)
I have also IE7 installed into Vista computer and it does not have this problem.
Any ideas Can you please try my sample test page below and let me know if your IE7 instantly dies or does it give a correct output (empty box for object)
<HTML>
<H1> Delphi ActiveX Test Page </H1><p>
You should see your Delphi forms or controls embedded in the form below.
<HR><center><P>
<OBJECT
classid="clsid:C6F9C447-3FB9-4191-99EC-AFD9B01AC891"
codebase="buttonxcontrol1.ocx"
width=350
height=250
align=center
hspace=0
vspace=0
>
</OBJECT>
</HTML>