Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #17381

Re: Refreshing ActiveX controls

From Cezary Tomczyk <cezary.tomczyk@gmail.com>
Newsgroups comp.lang.javascript
Subject Re: Refreshing ActiveX controls
Date 2012-11-30 00:27 +0100
Organization Aioe.org NNTP Server
Message-ID <k98r15$bfb$1@speranza.aioe.org> (permalink)
References <k97pll$gnv$1@speranza.aioe.org> <1463591.kyDlKFe50m@PointedEars.de> <k98h0r$g5b$1@speranza.aioe.org> <34728788.KEVs06lIuy@PointedEars.de>

Show all headers | View raw


W dniu 2012-11-29 23:20, Thomas 'PointedEars' Lahn pisze:
> Cezary Tomczyk wrote:
>
>> Thomas 'PointedEars' Lahn pisze:
>>> Cezary Tomczyk wrote:
>>>> Any idea how to refresh ActiveX controls without restarting IE? (or
>>>> probably any browser that support ActiveX).
>>> Several.  Depends on what *exactly* you are looking for.
>>
>> I'll try do describe it how it works in steps:
>>
>> 1. The user goes to the requested page. Let's say http://www.test.com/
>
> There is a real test.com.  For examples, please use the .example TLD or the
> example.com SLD:
>
> <http://tools.ietf.org/html/rfc2606>

Or even example.net and example.org. Will use those names next time.

> If you have a problem with a Web site, however, it is of course best to post
> the real URI.

Actually I can not post a real URL, but I am not sure if this could help 
anything. The main point of the problem is elsewhere.

>> 2. I check if user has already installed required external software.
>> This software has a specified "ProgID" and ActiveX Class ID.
>>
>> Short code:
>>
>> var found, obj;
>>
>> if (typeof window.ActiveXObject !== 'undefined') {
>>       try {
>>           obj = new window.ActiveXObject('here is full ProgID');
>>           found = typeof obj !== 'undefined';
>
> I do not think `obj' is ever going to be `undefined' at this line.  You can
> just as well assign `true', or skip `found' and only work with `obj' (which
> you might want to initialize with `null').

Not really. I tested in IE9:

var obj = new window.ActiveXObject('NonExistsProgID');
window.console.log(typeof obj);

The result is: undefined.

> See also jsx.net.http.Request.prototype._getXHR() in
> <http://pointedears.de/websvn/filedetails.php?repname=JSX&path=%2Ftrunk%2Fhttp.js>
> (a bit slow currently).

I know that file and I even studied more closely not so long time ago :-)

I see your part of initializing XHR object, but there is also some weird 
parts for me. You define:

x = null;

and later in part between /*@if (@_jscript_version >= 5) and @end @*/ in 
catch(e){} you sets x = null, which I do not know why. It is defined x = 
null at the beginning.

Not sure if part for /* IceBrowser */ is still necessary.

However, generally speaking code could inspire many coders.

>>       } catch (e) {
>>       }
>> }
>>
>> 3. If "found" is true then this means that required external software is
>> installed and user will be moved to the next step. If not then I
>> triggering download process and must wait for end of installation.
>> External software will do all necessary changes inside ActiveX after
>> installation is complete.
>>
>> Now, I check every n seconds (using setTimeout instead of setInterval)
>> if required software is already installed. I can not check required
>> "ProgID" until I restart manually Internet Explorer. That's the problem.
>>
>> All I want is to refresh ActiveX list of all Controls and read required
>> data from ActiveX (check if required "control" is already installed)
>> without restart Internet Explorer.
>
> You should reconsider that approach.  There should be an event for the
> successfully loaded ActiveX control which you can add an event listener for,
> or the control can execute code itself.

Hm, interesting. If you have any links that can explain more about that 
then I would be glad to get them. In the meantime I will check what 
Google returns about that.

-- 
Cezary Tomczyk
http://www.ctomczyk.pl/

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Refreshing ActiveX controls Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2012-11-29 14:58 +0100
  Re: Refreshing ActiveX controls Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-11-29 17:42 +0100
    Re: Refreshing ActiveX controls Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2012-11-29 21:36 +0100
      Re: Refreshing ActiveX controls Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-11-29 23:20 +0100
        Re: Refreshing ActiveX controls Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2012-11-30 00:27 +0100
          Re: Refreshing ActiveX controls Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-12-01 16:42 +0100
  Re: Refreshing ActiveX controls JJ <jaejunks@glegooilma-swapit.com> - 2012-11-29 23:37 +0000
    Re: Refreshing ActiveX controls Cezary Tomczyk <cezary.tomczyk@gmail.com> - 2012-11-30 00:53 +0100
      Re: Refreshing ActiveX controls JJ <jaejunks@glegooilma-swapit.com> - 2012-12-01 06:36 +0000
        Re: Refreshing ActiveX controls Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-12-01 17:12 +0100

csiph-web