Use activeX in HTML

Hi guys.

I'm trying to use the OBJECT tag in my HTML, but the object does not created.
When I'm trying to create it using the 'createObejct' statement (of VBScript), it works fine.
When I look at the "CodeDownloadErrorLog" file, I see the problem is: "Class not registered (80040154)"
I know for sure the class IS registered (I can instantiate it using vbscript).

What is the problem?

Thanks!
memilaviAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
CJ_SConnect With a Mentor Commented:
Normally in VB (and in VBscript in IE 6) you can use the

Dim WithEvents x as New OBJECTNAME

but that is not supported in VBScript. I'm sorry, but there is no way. The only way you can get it to work is by creating a usercontrol in Visual Basic, and adding the component to it by setting a reference. Then you create Events in the usercontrol (ActiveX control project btw) and fire them whenever necessary:

Public Event MyEvent()

RaiseEvent MyEvent()

Next thing is using the Package & Deployment wizard to create a cabinet file (.cab), and that program will create an html-page with the correct object tag included.

Then it will work, but only for Internet Explorer users who have activex turned on (same applies for the CreateObject though).

regards,
CJ
0
 
CJ_SCommented:
There is one difference though. The object tag is supposed to show something on the screen (like a usercontrol), something you can interact with and has a graphical user interface. Using CreateObject or it's equivalent new ActiveXObject you can create an object in memory, but that object does NOT have a GUI. It only contains additional classes and functions you can use.

With other words, I'm not surprised.

regards,
CJ
0
 
memilaviAuthor Commented:
Well, in this case, how can I capture events from an object created by CreateObject?
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.

 
hakobCommented:
To create an Automation object in JavaScript, assign the new ActiveXObject to an object variable, f.e.:

var ExcelSheet;
ExcelSheet = new ActiveXObject("Excel.Sheet");

0
 
memilaviAuthor Commented:
hakob, maybe you didn't understand my question.

I asked how to capture events from an automation object, not how to create it.

Perhaps you are new here, but next time don't lock a question. If your comment is actually the answer, it will be accepted as such.

CJ, I am currently checking your suggestion. I will come up with results ASAP.
0
 
CJ_SCommented:
Let me know. After tomorrow I won't be on for a week (or so)...

regards,
CJ
0
 
djbusychildCommented:
actually, an object doesn't neccessarily need to have a GUI of its own. I have created few objects that doesn't have a GUI but exposes its IDispatch interface so that I can use it for automation.

as for as events go the standard method of handling events given an object like "window" you do the following

<script language="vbscript">

sub window_onload
 MsgBox "hello world"
end sub

</script>

refer to this document for more,

http://msdn.microsoft.com/library/en-us/dnclinic/html/scripting04092001.asp?frame=true
0
 
CJ_SCommented:
djbusychild,
you do need a GUI for objects within the object-tag. I might be very well wrong, but I never could use the object-tag with plain components exposing the IDispatch and IUnknown interfaces (without a GUI).

Regards,
CJ

0
 
memilaviAuthor Commented:
Thanks, CJ_S, that was exactly what I needed to know.
I have another question regarding objects in HTML, and I hope you can help me with this too.

Look in the questions list for that.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.