wieder mal Vb
Geizhals » Forum » Programmierung » wieder mal Vb (13 Beiträge, 112 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
wieder mal Vb
18.10.2005, 01:34:59
Habe folgendes Programm zur Ansteuerung der seriellen Schnittstelle:

jedoch hängt sich das Programm nachm Starten leider auf, kA wieso.
Es lässt sich kein Button auswählen
Und zwar ist der Hänger drinnen, sobald er von der Private Sub Timer1.Timer() in die
IOout(dat) springen sollte, und somit die Leitungen aktualisiert werden sollten.


Source: (in der Form mit 8 Checkboxes und 2 Option)

--------------------------------------------
Private Sub Form_Load()

i = OPENCOM("COM4")
If i = 0 Then
   i = OPENCOM("COM5")
   Option1.Value = True
End If
If i = 0 Then MsgBox ("Com Interface Error")
TXD 0
RTS 0
DTR 0

Timer1.Interval = 100

End Sub
----------------------------------------
Sub IOout(Dat)
Bitvalue = 1
RTS 0

For n = 1 To 8
    If (Dat And Bitvalue) > 0 Then TXD 1 Else TXD 0
        DTR 1
        DELAY 0.005
        DTR 0
        Bitvalue = Bitvalue * 2
    Next n

  RTS 1
  DELAY 0.005
  RTS 0
End Sub
----------------------------------------------------
Private Sub Timer1_Timer()
TIMEINIT
Dat = 0
Dat = Dat + Check1.Value
Dat = Dat + Check2.Value * 2
Dat = Dat + Check3.Value * 4
Dat = Dat + Check4.Value * 8
Dat = Dat + Check5.Value * 16
Dat = Dat + Check6.Value * 32
Dat = Dat + Check7.Value * 64
Dat = Dat + Check8.Value * 128
IOout Dat
End Sub
-------------------------------------------------------------
ports.bas passt soweit.

18.10.2005, 03:22 Uhr - Editiert von hellraiser, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
.  Re: wieder mal Vb  (Silence! am 18.10.2005, 01:40:36)
..  Re(2): wieder mal Vb  (hellraiser am 18.10.2005, 02:00:07)
...  Re(3): wieder mal Vb  (hover am 18.10.2005, 07:53:22)
...  Re(3): wieder mal Vb  (Somnatic am 18.10.2005, 09:22:44)
....  Re(4): wieder mal Vb  (hellraiser am 18.10.2005, 12:43:47)
.....  Re(5): wieder mal Vb  (Somnatic am 18.10.2005, 12:54:10)
......  Re(6): wieder mal Vb  (hellraiser am 18.10.2005, 21:10:23)
.......  Re(7): wieder mal Vb  (Somnatic am 18.10.2005, 22:50:52)
wieder mal Vb
18.10.2005, 01:34:59
Habe folgendes Programm zur Ansteuerung der seriellen Schnittstelle:
Als Modul wird die ports.bas verwendet, die Port.dll befindet sich im Projektordner, und im Win System Ordner.

Wenn ich ausführen will, kommt Fehlermeldung: Object required 424
Im Debug Modus springt er hierbei auf die Zeile: Timer1.Interval = 100

Keine Ahnung wo hier der Fehler liegt.

Kann mit anderen Programm die Seriellen Ports einlesen (mit MScomm), jedoch pfunziwunzifunztatatut das hinausschreiben mit der bas hier nicht,wills aber damit versuchen.

Ideen? danke

Edit: bin zu blöd, habe den Timer in der Form vergessen %-)

jedoch hängt sich das Programm nachm Starten leider auf, wiederum kA wieso.
Es lässt sich kein Button auswählen


Source: (in der Form mit 8 Checkboxes und 2 Option)


Private Sub Form_Load()

i = OPENCOM("COM4")
If i = 0 Then
   i = OPENCOM("COM5")
   Option1.Value = True
End If
If i = 0 Then MsgBox ("Com Interface Error")
TXD 0
RTS 0
DTR 0

Timer1.Interval = 100

End Sub

Sub IOout(Dat)
Bitvalue = 1
RTS 0

For n = 1 To 8
    If (Dat And Bitvalue) > 0 Then TXD 1 Else TXD 0
        DTR 1
        DELAY 0.005
        DTR 0
        Bitvalue = Bitvalue * 2
    Next n

  RTS 1
  DELAY 0.005
  RTS 0
End Sub

Private Sub Timer1_Timer()
TIMEINIT
Dat = 0
Dat = Dat + Check1.Value
Dat = Dat + Check2.Value * 2
Dat = Dat + Check3.Value * 4
Dat = Dat + Check4.Value * 8
Dat = Dat + Check5.Value * 16
Dat = Dat + Check6.Value * 32
Dat = Dat + Check7.Value * 64
Dat = Dat + Check8.Value * 128
IOout Dat
End Sub

Ports.bas:
Declare Function OPENCOM Lib "Port" (ByVal A$) As Integer
Declare Sub CLOSECOM Lib "Port" ()
Declare Sub SENDBYTE Lib "Port" (ByVal b%)
Declare Function READBYTE Lib "Port" () As Integer
Declare Sub DTR Lib "Port" (ByVal b%)
Declare Sub RTS Lib "Port" (ByVal b%)
Declare Sub TXD Lib "Port" (ByVal b%)
Declare Function CTS Lib "Port" () As Integer
Declare Function DSR Lib "Port" () As Integer
Declare Function RI Lib "Port" () As Integer
Declare Function DCD Lib "Port" () As Integer
Declare Sub DELAY Lib "Port" (ByVal b%)
Declare Sub TIMEINIT Lib "Port" ()
Declare Sub TIMEINITUS Lib "Port" ()
Declare Function TIMEREAD Lib "Port" () As Long
Declare Function TIMEREADUS Lib "Port" () As Long
Declare Sub DELAYUS Lib "Port" (ByVal l As Long)
Declare Sub REALTIME Lib "Port" (ByVal i As Boolean)

18.10.2005, 03:14 Uhr - Editiert von hellraiser, alte Version: hier
[ Dieser Beitrag wurde inzwischen editiert. Die aktuelle Version befindet sich hier. ]
Antworten PM Alle Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung