Der erste Fehler kommt, weil er byval vermisst

Code:
Declare Sub Fahren(byval pwm_l As Integer ,byval Pwm_r As Integer , byval Ml_1 As Bit ,byval Ml_2 As Bit ,byval Mr_1 As Bit ,byval Mr_2 As Bit)
2. und 3. Fehler: KA Sieht eigentlich iO aus...

So kompiliert er es fehlerfrei:

Code:
Declare Sub Fahren()

Dim Entfernung_r As Integer
Dim Entfernung_l As Integer
Dim Pwm_l As Integer
Dim Pwm_r As Integer
Dim Mrl As Byte

Ml_1 Alias Mrl.0
Ml_2 Alias Mrl.1
Mr_1 Alias Mrl.3
Mr_2 Alias Mrl.4


If Entfernung_l < 100 Then
   If Entfernung_r < 100 Then
      If Entfernung_l < Entfernung_r Then
         Pwm_l = 250 : Pwm_r = 500 : Ml_1 = 1 : Ml_2 = 0 : Mr_1 = 1 : Mr_2 = 0
         Call Fahren()
      Else
         Pwm_l = 500 : Pwm_r = 250 : Ml_1 = 0 : Ml_2 = 1 : Mr_1 = 0 : Mr_2 = 1
         Call Fahren()
      End If
   Else
      Pwm_l = 1000 : Pwm_r = 500 : Ml_1 = 1 : Ml_2 = 0 : Mr_1 = 1 : Mr_2 = 0
      Call Fahren()
   End If
Else
   If Entfernung_r < 100 Then
      Pwm_l = 500 : Pwm_r = 1000 : Ml_1 = 1 : Ml_2 = 0 : Mr_1 = 1 : Mr_2 = 0
      Call Fahren()
   Else
      Pwm_l = 1000 : Pwm_r = 1000 : Ml_1 = 1 : Ml_2 = 0 : Mr_1 = 1 : Mr_2 = 0
      Call Fahren()
   End If
End If

Sub Fahren()
   Portc.6 = Ml_1
   Portc.7 = Ml_2

   Portb.0 = Mr_1
   Portb.1 = Mr_2

   Pwm1a = Pwm_l
   Pwm1b = Pwm_r
End Sub