473,322 Members | 1,562 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,322 software developers and data experts.

JavaScript ActiveXObject error

I need some immediate guidance with an error I am facing using an
ActiveXObject to instantiate a DLL and use the object to launch a
command on the local client. I use this great DLL called LaunchinIE
which works for the most part. But I am running into a hurdle in my
application, as described below...

I have set up an ASP page with the following code on the web server:

<html>
<head>
<title>Testing Application Launch In IE</title>
<script language="JavaScript">
function launchApp(strCmdLine)
{
var obj = new ActiveXObject("LaunchinIE.Launch");
obj.LaunchApplication(strCmdLine);
}
</script>
</head>
<body>
<script language="JavaScript">
var qt = '"';
var strCmdLine = 'C:\\ddc32\\ddc32.exe ';
strCmdLine += 'ddc(dsp(30, Application Login, Logging in to
Application..., 3) if w4w(2, Missing Client ID) else if w4i(40,GenQL,)
wait(6) skw(0,GenQL TSTUSER{enter}TSTPWD{enter}) endif endif dsp()) &&
';
strCmdLine += qt+'C:\\Program Files\\GenQL\\genql.exe'+qt + ' ';
strCmdLine += 'GenQL.App Name=Desktop70';
launchApp(strCmdLine);
</script>
</body>
</html>

On the client system, I registered the launchinIE.dll component that
suppresses the IE security prompt for opening or saving an executable.
Now, when I try to access this page from the client, the first part of
the command works, i.e. the ddc32 winbatch executable. But the second
part of the command is not recognized and a message box shows up
stating that the command is unknown.

Surprisingly, if I try the exact two commands from the DOS command
line, i.e.

C:\ddc32\ddc32.exe ddc(dsp(30, Application Login, Logging in to
Application..., 3) if w4w(2, Missing Client ID) else if w4i(40,GenQL,)
wait(6) skw(0,GenQL TSTUSER{enter}TSTPWD{enter}) endif endif dsp()) &&
"C:\Program Files\GenQL\genql.exe" GenQL.App Name=Desktop70

.... both commands are executed in sequence and work just fine. Since
the command is included in JavaScript, I had to escape the reverse
slash and alias the double quote character with a variable "qt". Also,
the && is more like Unix, where the result of the first command
decides whether or not to execute the second command. In other words,
if the first command returns TRUE, the second command is executed only
then. I know your DLL works just fine, because if I replace this long
command with something simpler like...

C:\ddc32\display1.bat ashwin && C:\ddc32\display2.bat raj

.... it works just fine. I feel this may be a JavaScript type of issue,
and it is somehow unable to parse the argument to the first command
ddc32, thereby failing the second command.

I greatly appreciate any help!
Jul 23 '05 #1
5 12419
> ... I use this great DLL called LaunchinIE
which works for the most part. But I am running into a hurdle in my
application, as described below...


In that you are callng a method of a 3rd party component, your best bet is
to contact the author (email address from the site:
rockin_AT_whirlywiryweb.com).

--
Michael Harris
Microsoft.MVP.Scripting
Sammamish WA US

Jul 23 '05 #2
Mike,

I have done that too, and I think the author has been very forthcoming
in his support. Even then, this is an issue related to JavaScript,
because I can replace that long command string with something similar
like...

myObj.launchApplication("mdisplay1.bat ashwin && display2.bat raj");

....within LaunchinIE and it works just fine. But the similar syntax
and a different pair of commands (below) do not work. I think it may
have something to do with escaping the parentheses, ampersands or some
other character(s). The exact same pair of commands executed in a DOS
window works just fine, but not when invoked from the LaunchinIE
component the exact same way.

Thanks for your response.

--Ashwin

"Michael Harris \(MVP\)" <mikhar at mvps dot org> wrote in message news:<eh**************@TK2MSFTNGP11.phx.gbl>...
... I use this great DLL called LaunchinIE
which works for the most part. But I am running into a hurdle in my
application, as described below...


In that you are callng a method of a 3rd party component, your best bet is
to contact the author (email address from the site:
rockin_AT_whirlywiryweb.com).

Jul 23 '05 #3
forum7 wrote:
Mike,

I have done that too, and I think the author has been very forthcoming
in his support. Even then, this is an issue related to JavaScript,
because I can replace that long command string with something similar
like...

myObj.launchApplication("mdisplay1.bat ashwin && display2.bat raj");

The rules for command lines executed via the component's LaunchApplication
method are probably the same as those for WshShell.Run since it is likely
just a wrapper around ShellExecuteEx.

Since the && only has meaning to the command shell (e.g. cmd.exe), you have
to be explicit and include the command processor in your command line

"%comspec% /c ...all that other stuff..."

A command line like

c:\foo.bat && c:\foo.bat

works because the command shell instance is started implicitly via the BAT
file association.

A command line like

notepad.exe && notepad.exe

would fail at the && since the command shell is not launched implicitly.

A command line like

%comspec% /c notepad.exe && notepad.exe

would work because the command shell is launched explicitly...

...within LaunchinIE and it works just fine. But the similar syntax
and a different pair of commands (below) do not work. I think it may
have something to do with escaping the parentheses, ampersands or some
other character(s). The exact same pair of commands executed in a DOS
window works just fine, but not when invoked from the LaunchinIE
component the exact same way.

Thanks for your response.

--Ashwin

"Michael Harris \(MVP\)" <mikhar at mvps dot org> wrote in message
news:<eh**************@TK2MSFTNGP11.phx.gbl>...
... I use this great DLL called LaunchinIE
which works for the most part. But I am running into a hurdle in my
application, as described below...


In that you are callng a method of a 3rd party component, your best
bet is to contact the author (email address from the site:
rockin_AT_whirlywiryweb.com).


--
Michael Harris
Microsoft.MVP.Scripting

Jul 23 '05 #4
Mike,

Your suggestion did help! Now, I am able to get the two commands to
get executed via the component's LaunchApplication method. The
problem, however, is that the command shell window (blank) is open for
the duration of execution of the two commands. I tried looking up the
argument list for cmd.exe to see if there was some way to suppress
this window or auto-close in a given amount of time. I could not find
anything. This is not a show-stopper, but there may be risks
associated with having that window open for a long time. Do you have
any suggestions?

You have been extremely helpful -- thank you so much!

--Ashwin

"Michael Harris \(MVP\)" <mi****@mvps.org> wrote in message news:<ew**************@TK2MSFTNGP12.phx.gbl>...

The rules for command lines executed via the component's LaunchApplication
method are probably the same as those for WshShell.Run since it is likely
just a wrapper around ShellExecuteEx.

Since the && only has meaning to the command shell (e.g. cmd.exe), you have
to be explicit and include the command processor in your command line

"%comspec% /c ...all that other stuff..."

A command line like

c:\foo.bat && c:\foo.bat

works because the command shell instance is started implicitly via the BAT
file association.

A command line like

notepad.exe && notepad.exe

would fail at the && since the command shell is not launched implicitly.

A command line like

%comspec% /c notepad.exe && notepad.exe

would work because the command shell is launched explicitly...

Jul 23 '05 #5
> Your suggestion did help! Now, I am able to get the two commands to
get executed via the component's LaunchApplication method. The
problem, however, is that the command shell window (blank) is open for
the duration of execution of the two commands. I tried looking up the
argument list for cmd.exe to see if there was some way to suppress
this window or auto-close in a given amount of time. I could not find
anything. This is not a show-stopper, but there may be risks
associated with having that window open for a long time. Do you have
any suggestions?


Unless the author of the component included support in the LaunchApplication
method for a window style argument (such as WshShell.Run does) to run in a
hidden window, then I don't know of any way for cmd.exe to hide itself.

--
Michael Harris
Microsoft.MVP.Scripting
Sammamish WA US

Jul 23 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

26
by: Don | last post by:
I'm writing an html page with some JavaScript that reads a web page into a client-side temp file, then reformats it, then submits that same file as a URL to the browser for display, via...
18
by: William | last post by:
I have the following javascript function that updates a scroll_list and sends the updated entry (with its index) to a server script ( i.e. http://mkmxg00/cgi/confirmUpload.pl ) for further...
6
by: acord | last post by:
Hi, In a html page, I don't know how to load in a php page from javascript. I've already defined a <div id="treemenu"> in the html page. The executed content from the php script is supposed...
10
by: seanism | last post by:
Hello all I am new to javascript and I am attempting to write a site in JS / PHP to jump on the ajax band wagon. I am getting the following error and have not been able to locate a solution for it...
7
by: julian.tklim | last post by:
Hi, I need to build an editable Datagrid with add & delete buttons on each row using javascript. DataGrid need not be pre-populated with values. To make the thing complicated, one of the...
90
by: charlesmusco | last post by:
Hi all. I have the following problem. I have an xml file, while I will list below and I am trying to add nodes to the xml document based on user input to a form. The XML doc is ... <?xml...
3
by: SM | last post by:
Hello, Im trying to access elements in my XML file using the JavaScript DOM but i'm not sure how. I use AJAX to access the XML and then use the responseXML property to access the XML file data. I...
1
by: critchey1 | last post by:
Hey everyone, i've been playing around with trying to get some scripts to work with detecting whether flash player is installed on your computer or not. I found a flash detection kit on the adobe...
2
by: joelkeepup | last post by:
Hi, I made a change this morning and now im getting an error that says either "a is undefined or null" or "e is undefined or null" the microsoft ajax line is below, I have no idea how to...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.