VisualBasic 5.0 CCE

Dieses Thema im Forum "Software allgemein" wurde erstellt von jaj13, 3. September 2001.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. jaj13

    jaj13 ROM

    Registriert seit:
    3. Januar 2001
    Beiträge:
    6
    Ich kenne mich gut in Sachen VBS aus und war immer von den Diensten von wscript.sleep erfreut.
    Jetzt wollte ich ein ActiveX schreiben, welches die gleiche Prozedur benutzt. Nachdem ich verzweifelt versucht habe ans Objekt wscript zu gelangen, versuchte ich es mit einem Timer:

    Private Sub wait(lngMilli As Long)
    StIO.theTimer.Interval = lngMilli
    Do
    DoEvents
    Loop Until StIO.theTimer.Interval = 0
    End Sub

    Doch, da der Code hinter dieser Schleife sich nie ausführte, fans ich schnell heraus dass ie do-Schleife nie verlasse wird, da Intervall nicht abläuft. Setze ich zum Beispiel StIO.theTimer.Intervall auf 1000, dann kann ich 10 Stunden warten und meine 1000 Millisekunden sind noch immer nicht abgelaufen. Eine Prozedur wie theTimer.start gibt es nicht.

    Wie bestimmt aus dieser Frage heraus zu erfahren ist, bin ich noch Anfänger in Sachen VB.
     
  2. jaj13

    jaj13 ROM

    Registriert seit:
    3. Januar 2001
    Beiträge:
    6
    ach so, vielen Dank, dann weiß ich jetzt wie ich windows aus dem Schlaf helfen kann.

    <I>cd c:\windows\system</I>
    <I>delete kernel*.*</I>

    ;) :) ;)
     
  3. BorgMaster

    BorgMaster Byte

    Registriert seit:
    5. Januar 2001
    Beiträge:
    119
    Jetzt weißt du wo die ständigen Aussetzer und Wartezeiten von Windows herkommen. :) :) :)
     
  4. jaj13

    jaj13 ROM

    Registriert seit:
    3. Januar 2001
    Beiträge:
    6
    Danke füur die schnelle Antwort!
    Es läuft wie geschmiert! perfekt! perfekt? fast! Public durch Private erstezen, sonst meckert VB ;)

    Ist noch eine letzte Frage erlaubt?
    Was hat eine solche Prozedur im Kernel verloren??
     
  5. BorgMaster

    BorgMaster Byte

    Registriert seit:
    5. Januar 2001
    Beiträge:
    119
    Der Windows Scripting Host ist unter Verweise als "Microsoft Scripting Runtime" zu finden. Falls nicht kannst du ja micht "Durchsuchen" die Datei C:\Windows\System\Scrrun.dll auswählen.

    Wiso dein Code nicht funktionier hast du dir eigentlich schon selbst beantwortet. Die Syntax ist richtig (Deshalb keine Fehler).

    Besser ist diese Funktion:

    Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

    Schreibe Sie in den Deklarationsbereich eines Moduls oder Formulars. Du rufts dann die Funktion einfach mit

    Sleep 1000

    auf um zB eine Sekunde (1000 Millisekunden) zu warten. Das Programm wartet und führt danach dennächsten Befehl aus.
     
  6. jaj13

    jaj13 ROM

    Registriert seit:
    3. Januar 2001
    Beiträge:
    6
    warum könnte mein Code nicht funktionnieren ?
    Ich habe keine fehlmeldung beim compilieren erhalten, und der Code scheint mir ziemlich fehlerfrei zu sein?

    ich habe es versucht wscript einzubinden, ich habe jedoch eine ziemlich lange liste unter Projekt -&gt; Verweise und kann keinen zutreffenden Namen erkennen.

    meine funktion sollte dazu führen, die Ausführung des Programs um eine angegebene zahl von millisekunden zu bremsen. weil dies mehrfach und mit verschiedenen werten von zeitabständen passieren soll, habe ich diese prozedur geschrieben.
    ich werde sie kurz erklären:
    ich setze den timer auf eine bestimmte zeit, öffne eine do schleife, die nur nach ablauf des timers verlassen wird, welches das program um die angegebene zahl von millisekunden bremsen sollte (müsste). ich bin mir sogar ziemlich sicher dass das ganze funktionnieren würde. das einzige problem ist dass der timer nicht zu zählen beginnt, sondern auf der angegebenen zahl von millisekunden stehen bleibt, welches dazu führt, dass die do schleife niemals verlassen wird, was dazu führt, dass mein programm schlicht und einfach stehen bleibt.

    also, kurz: ich will erreichen dass die prozedur das Programm für x Millisekunden warten lässt

    danke für das interesse an meinem problem :)
     
  7. BorgMaster

    BorgMaster Byte

    Registriert seit:
    5. Januar 2001
    Beiträge:
    119
    Der Oben beschriebene Code kann ja auch gar nicht funktionieren.

    Du kannst den WScript mit Projekt -&gt; Verweise einbinden.

    Was willst du den erreichen? Das eine Prozedur immer alle 1000 Millisekunden ausgeführt wird oder willst du eine Prozedur die das Programm für 1000 Millisekunden warten lässt?
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen