Hallo!

Ein echtes dynamisches Inkludieren besteht darin, dass man ein fremdes
Script aus einer Variable heraus inkludiert und dann die Funktionen und
Unterprogramme des inkludierten Scripts nutzen kann und ggf. auch, dass
das inkludierte Script auf globale Variablen, Funktionen und
Unterprogramme des rufenden Scripts zugreift.

F�r dynamisches Inkludieren eignen sich deshalb auch
Windows-Script-Components, also VBScript, das sich (fast) wie eine
COM-Komponente verh�lt. Zur Laufzeit wird dann ein Objekt erzeugt und
�ber Methoden und Eigenschaften angesprochen. Hier ist es dann v�llig
egal, wenn der Objektname aus einer Variablen oder aus der Datenbank
kommt.

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.

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.

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")))
   ... oder ...
execute DynamicInclude("abc.asp")


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

Antwort per Email an