Vermeiden, das Procedure mehrmalls durchlaufen wird

rkrause

Mitglied
Folgendes Problem habe ich:

Code:
'Anrufbeginn, Anruf geht ein, es klingelt
Private Sub etLine1_OnCallBegin(ByVal CallHandle As Long)
        TextStatus.Text = TextStatus.Text & CMD_NEWCALL & vbCrLf 'Ausgabe
        TextStatus.Text = TextStatus.Text & etLine1.CallCalledIDNumber & vbCrLf
        TextStatus.Text = TextStatus.Text & aktuellesDatum & vbCrLf
        TextStatus.Text = TextStatus.Text & aktuelleUhrzeit & vbCrLf
End Sub

Das ganze ist eine Procedure aus einem Tapi-Projekt, das ich unter VB 6 realisiere!

Die Procedure mach grob folgendes:
Wenn ein Anruf ankommt, wird etwas in eine Textbox geschrieben. Normalerweise wird dies einmal pro Anruf gemacht. Leider kommt es aber vor, das diese Procedure doppelt durchlaufen wird. Ich möchte dies nun verhindern.

Bei der Procedure gibt es einen sogenannten CallHandler, der bei jedem Anruf einzigartig ist. Wenn die Procedure doppelt durchlaufen wird, war die die CallHandlernummer auch wieder gleich!!

Nun möchte ich, das das die Procedure einmal normal durchlaufen wird. Wenn sie ein zweites Mal durchlaufen wird, also Callhandler ist derselbe wie vorher, soll nichts ausgegeben werden.

Eigentlich ja nich so schwer, aber ich komme leider nicht auf die Lösung:(

EDIT: Habe grad ein Mitarbeiter gefragt und die Lösung war relativ einfach: Einfach einen Merker setzen, wenn der Anruf beendet wurde
 
Zuletzt bearbeitet:
Ich hoffe ich habe das Problem richtig erkannt,
wenn ja dann sollte das hier klappen, ob es so
Regelkonform ist kann ich dir leider nicht sagen.
Bin ja selber noch ein Anfänger ;)

Code:
'Anrufbeginn, Anruf geht ein, es klingelt
Private Sub etLine1_OnCallBegin(ByVal CallHandle As Long)

Dim i As String 'legt i als String fest
If i = CallHandlernummer Then goto subende 'wenn der Wert von i dem von CallHandlernummer entspricht Sprung zu subende
i = CallHandlernummer 'setzt den Wert CallHandlernummer für den String i

        TextStatus.Text = TextStatus.Text & CMD_NEWCALL & vbCrLf 'Ausgabe
        TextStatus.Text = TextStatus.Text & etLine1.CallCalledIDNumber & vbCrLf
        TextStatus.Text = TextStatus.Text & aktuellesDatum & vbCrLf
        TextStatus.Text = TextStatus.Text & aktuelleUhrzeit & vbCrLf

subende: 'sprungpunkt für die goto Anweisung

End Sub

Es darf natürlich nichts dazwischenfunken, wenn die CallHandlernummer
zweimal direkt nacheinander kommt dann müsste das goto greifen und den
Sub überspringen.

edit: hättest du deinen edit bissel dicker gemacht hätte ich ihn auch gleich gesehen ^^ sorry

cu BlueDog
 

Neue Beiträge

Zurück