vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Warteschleife in VB 2008 Express 
Autor: uncleyogy
Datum: 05.02.10 13:41

Hallo,

Vorgeschichte:
ich schreibe z.Zt. meine erste VB Anwendung. Bislang habe ich ausschließlich embedded Microcontroller in Assembler und C programmiert, PC Anwendungen beschränkten sich auf einfache Tools, die ich i.A. mit Turbo-Pascal oder Quick-Basic unter DOS geschrieben habe. Einen dieser Tools will ich nun auf Windoof umstricken und habe mir dazu VB Express installiert. Einige Hürden habe ich schon genommen, aber jetzt stehe ich vor einem Problem, das vielleicht ein Verständnisproblem der VB / Net / OOP Denke ist.

Das Problem:
Das Programm soll beim Start alle verfügbaren seriellen Schnittstellen suchen und über diese prüfen, ob ein bestimmtes Gerät angeschlossen ist. Dazu wird eine Bytefolge über die Schnittstelle gesendet, die innerhalb einer bestimmten Zeit beantwortet werden soll. Die Wartezeit wollte ich mit einem Timer realisieren, der einen global definierten Zähler (Ticker) incrementiert, der in der While-Schleife der Start-form Routine abgewartet wird. Aber nichts tut sich. Offensichtlich wird der Timer nicht gestartet.

Die SW-Teile (gekürzt auf das Wesentliche)

Public Class form_main
   'Public ....
    Public ticker As Int32
    Private Sub form_main_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
    Me.TabControl1.Hide()  'Das Tabblatt verstecken
     jetzt erstmal Anschluß suchen:
    If SerialPort1.IsOpen Then SerialPort1.Close() 'falls offen, schließen
 
    For Each sp As String In My.Computer.Ports.SerialPortNames
         If Microsoft.VisualBasic.Left(sp, 3) = "COM" Then
             If OpenSerialPort(sp) = True Then
               ' nun teststring senden:
                 CallDataSlave(&H10)  ' funktioniert...
                 ticker = 0
                 Timer1.Interval = 10  'timer starten, 10ms/tick
                 Timer1.Enabled = True
 
                 While ticker < 10 
' hier haengt es
                 End While
 
                 Timer1.Enabled = False  'timer wieder stoppen und dann folgt 
                 ' der Rest..
 
    End Sub
    Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
      Handles Timer1.Tick
        ticker += 1
    End Sub
'... Rest des Codes
end Class
Notfalls könnte ich ein Stepping implementieren, aber vielleicht gibt es ja eine bessere Lösung.

Und noch eine Frage: Kann man Teile des Codes in verschiedene Files schieben, und diese mit "includes2 oder ähnlich einbinden, damit das nicht so ellenlang wird?


Danke für Eure Geduld

Yogy
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Warteschleife in VB 2008 Express6.820uncleyogy05.02.10 13:41
Re: Warteschleife in VB 2008 Express5.635jvbsl05.02.10 13:56
Re: Warteschleife in VB 2008 Express6.260ModeratorRalfE05.02.10 14:02
Re: Warteschleife in VB 2008 Express5.597uncleyogy05.02.10 15:14
Re: Warteschleife in VB 2008 Express5.612jvbsl05.02.10 15:38
Re: Warteschleife in VB 2008 Express5.551uncleyogy05.02.10 15:52
Schon wieder" Warteschleife in VB 2008 Express"5.682uncleyogy05.02.10 17:26
Re: Warteschleife in VB 2008 Express5.680Drapondur06.02.10 04:06
Re: Warteschleife in VB 2008 Express5.510uncleyogy06.02.10 12:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel