[quoted text, click to view] "Andrew Wan" <andrew_wan1980@hotmail.com> wrote in message
news:OrvCZw2rHHA.3884@TK2MSFTNGP04.phx.gbl...
> How can VBScript code access JScript code variables in the same ASP page?
>
> <SCRIPT LANGAUGE="VBScript">
> Dim a
> a = 10
> </SCRIPT>
> <SCRIPT LANGUAGE="JScript">
> Response.Write(a);
> </SCRIPT>
>
> Also, is this valid JScript code because ASP hasn't complained.
It won't because without a runat="server" attribute on the script element
the above is simply treated as content and sent to the client. The client
should've complained that Response is undefined.
To answer your question variables and functions declared at global scope are
accessible across the script boundaries.
[quoted text, click to view] >
> <SCRIPT LANGUAGE="JScript">
> function Section(a, b, c, d) {
> this.a = a;
> this.memFunction = function() {
> this.a = this.a + 1;
> }
> }
> </SCRIPT>
>
> Basically it's like JScript's way of declaring classes.
Yeah but it's very JScript and is completely alien to VBScript.
[quoted text, click to view] >
> How can VBScript code create a Section object?
>
> <SCRIPT LANGUAGE="VBScript">
> Dim obj
> obj = new Section 'Error, says cannot find Section
> obj = new Section() 'Error again
> obj = new Section(1, 2, 3, 4) 'Error again
> </SCRIPT>
You need to create a factory function in the JScript:-
function newSection(a, b, c, d)
{
return new Section(a, b, c, d)
}
Now VBScript can use:-
Set obj = newSection(1,2,3,4)
[quoted text, click to view] >
>
> Also, is it possible to nest <SCRIPT> tag inside <% %>? Like:
>
> <%
> 'Some VBScript code
> Class AClass
> Private a
> Function b()
> End Function
> %>
> <!-- #INCLUDE VIRTUAL="JScript.asp" -->
> <%
> End Class
> %>
>
> where JScript.asp has:
>
> <SCRIPT LANGUAGE="JScript">
> function Section() {
> function Section2() {
> }
> }
> </SCRIPT>
No do it the other way around:-
Have a JScript.js file
then add this outside <% %> :-
<script src="test.js" runat="server" language="JScript" ></script>
Note it only makes sense to use this a function library, in-line code isn't
much use apart from code that may help create objects.
[quoted text, click to view] >
> ASP didn't complain. But couldn't test whether the JScript functions
Section
> were member functions of the VBScript AClass.
>
>
Again the runat attribute was missing.