romero: activexobject( wscript.shell ) - Problem?

Beitrag lesen

Hallöchen an euch da draußen,

nun stehe ich wieder vor einem Problem und weiß nicht weiter. Ich hoffe Ihr könnt mir dabei helfen.

Es geht um folgenden Sachverhalt:

Ich habe ein Script in eine *.HTA-Datei gepackt. In diesem Script benutze ich, wie hier unter SELFHTML erläuterte, diese LinkedSelection. Ich habe diese natürlich für meine Auswahlliste abgeändert.

Das Ganze sieht ja (abgespeckt) wie folgt aus:

<script type="text/javascript" src="Bereichsauswahl.js"></script>  
<script type="text/javascript" src="LinkedSelection.js"></script>  
<script type="text/javascript" src="LinkedSelectionNeu.js"></script>  
  
function init()  
{  
 function ergebniszeigen( selected )  
 {  
  ...  
 }  
  
 auswahl1()  
  
 function auswahl1  
 {  
  var ausgabe = LinkedSelectionAusgabe( [ Bereich1, Bereich2, Bereich3 ], ergebniszeigen, Bereichsauswahl_Variable )  
 }  
}

So im Großen die Sache von SELFHTML.

Nun lese ich mittels new activexobject( "wscript.shell" ) und ENVIRONMENT( "Process" ) und dann TEMP den Pfad für TEMP für jeden Nutzers aus.

Sieht wie folgt aus:

var teil1 = new activxobject( "wscript.shell" )  
var teil2 = teil1.environment( "process" )  
var pfad_benutzer = teils2( "TEMP" )  
  
// und dann wandle ich mit replace die backslashes um, damit ich direkten zugang zu den ordnern habe

Dieser pfad_benutzer nehme ich mit in alle weiteren Teil-Scripte, wo ich Zugang zu dem Temp-Ordner des Benutzer brauche.

Bis hier her alles bestens, seitens meines Scriptes, FÜR IE6!!!
Bei IE8 zeigt er mit das mit dem Automatisierungs-Sache an, aber dazu später mehr.

Nun rufe ich ein Teilscript auf und verwende diese "LinkedSelection" erneut an, aber anders als oben:

function init_neu()  
{  
 s = document.createElement( "script" )  
 s.type = "text/javascript"  
 s.src = pfad_benutzer + "/matte_datei.js"  
  
 // und dann wird dieses "s" im head-Bereich mittels appendChild(s) hinzugefügt  
  
function ergebniszeigenneu( selected )  
 {  
  ...  
 }  
  
auswahl2()  
  
 functions auswahl2()  
 {  
  var ausgabe_neu = LinkedSelectionAusgabeNeu( [ BereichNeu1, BereichNeu2 ], ergebniszeigenneu, mattenauswahl )  
 }  
}

Die matte_datei.js wird mittels opentextfile( pfad_benutzer + "/matte_datei.js, 2, true ) & write() erstellt und enthält eine var matteauswahl, welche für das neue LinkedSelection (LS) benutzt wird.

Also fast analog zu dem LS oben bzw. das von SELFHTML, nur auf meine Bedürfnisse angepasst.

Nun zu meinem Problem: ich benutze den IE6 (die *.HTA-Datei habe ich in den Kombatibilitätsmodus IE7 versetzt, für höhere IE's), eine andere Nutzerin den IE8.

Bei dem IE8 kommt nun, wenn also die function auswahl2() aufgerufen wird, die Fehlermeldung das "ungültige Zeichen" vorhanden sind bei file:\\C:\Document..."Benutzer"\Local Setting\Temp\matte_datei.js und weiterhin das die Variable mattenauswahl undefiniert ist.

Und so wie ich das mit bekommen haben, scheint es bis vor einigen Wochen mit dem IE8 funktioniert zu haben. Aber seit einigen Tagen liefen einige Updates über das System und seit dem funktioniert diese Sache nicht mehr (die erste LinkedSelection funktioniert aber einwandtfrei).

Er gibt mir aber als pfad_benutzer den richtigen Pfad aus, und es wird darin auch die korrekte Datei erstellt, aber er bekommt irgendwie kein Zugriff auf diese Datei bzw. auf die Variable.

Zumal auch der IE8 über die Entwicklertools bei dem "wscript.shell" ein Automatisierungsserver kann Objekt nicht erstellen anzeigt.

Als Test waren alle Sicherheitsstufen auf sehr niedrig gestellt.

Woran liegt es denn nun? Wurde das createElement("script") nicht richtig eingefügt? Oder liegt es wieder an diesem sch... IE8? Oder an den kürzlich hinzugekommenen Updates (keine Ahnung genau was da kam).

LG Romero