Mega Code Archive

 
Categories / Delphi / Activex OLE
 

Activeforms not displaying in internet explorer

Question: Why do ActiveX or ActiveForms sometimes not display in Internet Explorer? All that shows up is the .htm page with a blank square with a little red X in it. Answer: Its likely that you selected the licensing option when you created the ActiveForm and you are not deploying the .LIC file with your .OCX file. Usually licensing is not used with ActiveForms/ActiveXs that are being used to enhance a web site because you are giving the control away for free. To disable the design time licensing locate the initialization section in your ActiveForm's XXXImpl file and replace the second to last parameter of the TActiveXControlFactory.Create call to an empty string like so: initialization TActiveXControlFactory.Create( ComServer, TAnimateX, TAnimate, Class_AnimateX, 1, '', 0); end. So, when should you use Design-Time Licensing? Your control should use design-time only when you want to sell the ActiveX or ActiveForm to other developers who will then sell their finished applications to end-users. That is, the control works in a design-time environment (ie, Delphi, C++Builder, VB, etc.) when the LIC file is present, but it only works in a run-time environment (ie, the end-user application) when the .LIC file is not present. If you're deploying your ActiveX over the web, then you are by definition deploying to end-users (as opposed to developers) and you should never require a design-time license. Also, if the ActiveForm is unsigned, the Internet Explorer must have its "Active content security" level set to medium. To do this, go to the control panel and select Internet. Go to the security tab and then press the Safety Level button. Make sure the level it set to medium. NOTE: This is only advised when designing your own controls. Potentially rogue ActiveX controls could damage data on the machine!