1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

VisualBasic 5.0 CCE

Discussion in 'Software allgemein' started by jaj13, Sep 3, 2001.

Thread Status:
Not open for further replies.
  1. jaj13

    jaj13 ROM

    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

    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

    Jetzt weißt du wo die ständigen Aussetzer und Wartezeiten von Windows herkommen. :) :) :)
     
  4. jaj13

    jaj13 ROM

    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

    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

    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

    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?
     
Thread Status:
Not open for further replies.

Share This Page