Ich hab in letzter Zeit so einen komischen Laufzeitfehler. Nach dem Start vom PC ist alles in Ordnung, aber sobald ich dann irgendwie Zattoo starte oder CSS anfange zu gamen, kommt andauern ein Laufzeitfehler. Wenn ich ihn wegklicke kommt er nach ca. 10 Sekunden wieder, mit genau dem gleichen Inhalt (welcher wie folgt aussieht):
Es ist ein Laufzeitfehler aufgetreten. Möchten Sie den Debugmodus starten? Zeile: 30 Fehler: Ungültiger Prozeduraufruf oder ungültiges Argument.
Wenn ich ja auswähle und dann den Microsoft Script Editor nehme, krieg ich dann ein kleines Fenster in dem steht:
[2768] C:\Program Files\Windows Sidebar\sidebar.exe
Wenn ich das dann auswähle bekomme ich den Code zu Gesicht. Aber vorher krieg ich wieder die Meldung:
Laufzeitfehler im Microsoft JScript: Ungültiger Prozeduraufruf oder ungültiges Argument
Da muss ich dann statt Weiter auf Unterbrechen klicken, da diese Meldung ansonsten andauernd kommt. Dann hab ich den Code vorm Gesicht. Der sieht so aus:
var drives = 0; var count = 1; System.Gadget.onDock = dockStateChanged; System.Gadget.onUndock = dockStateChanged; function init() { interval = setInterval("clearInterval(interval); init();", 60000); count++; System.Gadget.beginTransition(); setBody(); checkDrives(); changeLayout(); System.Gadget.endTransition(1, 2); } function setGadgetOpacity(opacity){ System.Gadget.Settings.write("PrivateSetting_GadgetOpacity", opacity); } function checkDrives() { arr = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); drives = 0; for (i in arr) { if (System.Shell.drive(arr[i])) { if (System.Shell.drive(arr[i]).isReady) { <--- ZEILE 30 addDrive(arr[i]); drives++; } } } } function addDrive(letter) { id = "hd"+letter; body.innerHTML += "<div id='"+id+"'>Error: "+letter+": is not ready</div>"; document.getElementById(id).innerHTML = writeData(letter, id); } function writeData(letter ,id) { var Platz1 = System.Shell.drive(letter).freeSpace; var Name1 = System.Shell.drive(letter).volumeLabel; var Ges1 = System.Shell.drive(letter).totalSize; var Voll1 = Ges1-Platz1; var Voll1GB = Voll1/1000; var Ges1GB = Ges1/1000; var Prozent1 = Voll1GB/Ges1GB; var VonHundertVor1 = (Prozent1*100); var VonHundert1 = (VonHundertVor1.toFixed(0)); var str = ""; if (!System.Gadget.docked) { str = ("<p title='" + L_OPEN +letter.toUpperCase()+":\\' onclick=\"execute('"+letter+"');\"><b>"+letter.toUpperCase()+":</b> ("); str += (Name1); str += (")<br>"); str += ("<table class='load' border='0' cellpadding='0' cellspacing='0'><tr>"); if (Prozent1 > 0.91){ bla1 = "high"; } else {bla1 = "low"} for (var j=0;j<VonHundert1; j++) { str += ("<td class='"+bla1+"'></td>"); } var Rest1 = 100-VonHundert1; var k = 0; for (var k=0;k<Rest1; k++) { str += ("<td class='bg'></td>"); } str += ("</tr></table>"); str +=((Platz1/1024).toFixed(1)); str += (" GB" + L_FREE); str +=(Ges1GB.toFixed(0)); str += (" GB</p>"); } else { str = "<div class='docked' title='" + L_OPEN + letter.toUpperCase()+":\\' onclick=\"execute('"+letter+"');\"><b>" + letter.toUpperCase() + ":</b> (" + Name1 + ")<br>"; str += ("<table class='load' border='0' cellpadding='0' cellspacing='0'><tr>"); if (Prozent1 > 0.91){ bla1 = "high"; } else {bla1 = "low"} for (var j=0;j<VonHundert1; j++) { str += ("<td class='"+bla1+"'></td>"); } var Rest1 = 100-VonHundert1; var k = 0; for (var k=0;k<Rest1; k++) { str += ("<td class='bg'></td>"); } str += ("</tr></table>"); str += (Platz1/1024).toFixed(1) + " GB / " + Ges1GB.toFixed(0) + " GB</div>"; } return str; } function execute(letter) { System.Shell.execute('explorer.exe', letter+":"); } function changeLayout() { if (!System.Gadget.docked) { body.style.background = "url(bg"+drives+".png)"; body.style.height = 45*drives + 77 + "px"; body.style.width = "166px"; body.style.margin = "32px 5px 0px 12px"; } else { body.style.background = "url(bg-docked.png)"; body.style.height = 34*drives + 32 + /* (count*10) + */"px"; body.style.width = "131px"; body.style.margin = "20px 5px 0px 8px"; } } function setBody() { if (!System.Gadget.docked) { body.innerHTML = "<a href='java script: clearInterval(interval); init();'><span style='width: 68px; height: 12px; border: white 1px none; position: absolute; right:18px; bottom: 24px' id='foot' title='"+L_REFRESH+"'></span></a>"; } else { body.innerHTML = "<a href='java script: clearInterval(interval); init();'><span style='width: 68px; height: 12px; border: white 1px none; position: absolute; right:5px; top: 4px' id='foot' title='"+L_REFRESH+"'></span></a>"; } } function dockStateChanged() { clearInterval(interval); init();
Der Zeiger markiert mir die Zeile 30
if (System.Shell.drive(arr[i]).isReady) {
Hat irgendwer evtl. nen Plan was da immer so nen Fehler verursacht?
Dieser Beitrag wurde von Erte bearbeitet: 20. Juni 2008 - 20:32