Hallo!
> > Server.Execute hat einfach den Nachteil, dass das rufende Script
keine
> > Funktionen oder Unterprogramme im inkludierten Script aufrufen kann.
> > Deshalb ist das nur in wenigen F�llen n�tzlich.
>
> Aber sicher kann man das !!!
Ganz sicher? Das widerspricht meiner Dokumentation.
Sicher kann man mit Server.Execute ein Script aufrufen, das dann
selbst�ndig wie ein Unterprogramm bestimmte Aufgaben ausf�hrt, dabei
aber lediglich auf den HTTP-Header wie das rufende Script zugreifen
kann. Aber kann ich wirklich mit Server.Execute ein Script aufrufen, das
auf Variablen und Funktionen des rufenden Scripts zugreift und selber
wieder Variablen und Funktionen definiert, die ich im rufenden Script
verwenden kann?
> > In dem Zusammenhang frage ich mich auch, ob ein ...
> >
> > "<script language=... runat=server></script>"
> >
> > ... irgendwelche Vorteile (und wenn ja, dann welche?) gegen�ber dem
> > herk�mmlichen ...
> >
> > "<!-- #include file=... -->"
> >
> > ... bringt. Im ersten Fall inkludiert ASP selbst, w�hrend im zweiten
> > Fall der IIS vorab bem�ht wird.
>
> Der Vorteil liegt darin, dass mann keine <%%> um das skript haben
> muss... Dadurch kann man funktionen in include dateien auf server und
> clientseite benutzen... Das ging vorher nicht.
Ah, das ist mitunter n�tzlich, vor allem wenn man daf�r JavaScript
benutzt, z. B. f�r Form-Validierung auf dem Client und Server.
Das werde ich k�nftig ber�cksichtigen.
> > Interessant ist auch folgende Funktion:
> >
> > function DynamicInclude(pFile)
> > dim fso, txt
> > set fso = Server.CreateObject("Scripting.FileSystemObject")
> > set txt = fso.OpenTextFile(Server.MapPath(pFile))
> > DynamicInclude = txt.ReadAll
> > txt.Close: set txt = nothing: set fso = nothing
> > end function
> >
> > Damit kann man dynamisch HTML-Dateien ausgeben und VBScript-Code
> > ausf�hren ...
> >
> > Response.Write(DynamicInclude("abc.htm"))
> > ... oder ...
> > Response.Write(exec(DynamicInclude("abc.asp")))
>
> Was ist den exec f�r eine Funktion?
Die Funktion "exec" macht das gleiche wie das Statement Execute, aber es
gibt einen Wert zur�ck. Klar, dass der Befehlsstring dann lediglich
einen Term und keine Anweisung enthalten darf.
Execute "A = B + C"
... entspricht somit ...
A = exec("B + C")
Freundliche Gr��e
Joachim van de Bruck
| [aspgerman] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspgerman/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspgerman.asp