proc mit mehreren parametern

a-f-r-a

Grünschnabel
huhu,

ich habe ein sehr seltsames problem und zwar:

habe ich eine prozedur erstellt, die die die statusleiste des programms verändern soll.
diese soll zwei parameter erhalten, einmal die panelnummer, desweitern den einzufügenden text

das sah dann bei mir folgendermaßen aus:
Code:
private sub stbStatusBar_ChangePanel(ByVal PnlNbr As Integer, ByVal Text As String)
stbStatusBar.panelnumber(PnlNbr).Text = Text
End sub

ich wollte diese prozedur dann im programm aufrufen, etwa so
Code:
stbStatusBar_ChangePanel(1,"Testtext")

ABER es wurde direkt gemeckert, von wegen "= erwartet"

und danach: "ausdruck erwartet"...

wenn ich dann (natürlich unsinnigerweise)
Code:
stbStatusBar_ChangePanel(1,"Testtext") = 2
eingegeben habe, war er zunächst beruhigt, erzeugte dann aber beim ausführen einen fehler...

und jetzt kommt das seltsamste: das ganze ding funktioniert, wenn ich den parameter für die panelnummer in deklaration sowie aufruf weglasse und einfach die 1 "manuell" eintrage! ist das nicht komisch? dann wird der text erfolgreich geändert!
aber es wäre ja vollkommener schwachsinn, für jedes panel einen eigene prozedur zu schreiben! das muss also irgendwie funktionieren, nur was mache ich dann bitteschön falsch?

oh, noch zur zusätzlichen information: der aufruf ist die anweisung nach/in einer if abfrage, die aber meines wissens syntaktisch korrekt ist...

für hillfe wäre ich dankbar...

byebye

PS: noch eine kleine Sache, hat mit dem obigen problem nichts zu tun, aber kennt jemand eine informative seite die über die verwendung von invokescript informiert? alles was ich bisher dazu gefunden habe hat mich nicht zufriedengestellt/ nicht funktioniert
 
Zuletzt bearbeitet:
Klar dass er meckert, wenn du die Parameter in Klammern setzt, erwartet er dass du einen Rückgabewert haben willst. Das geht bei einer Prozedur nicht, Rückgabewerte gibts nur bei Funktionen. Der Aufruf eine Funktion kann also auf 2 Arten erfolgen, eine Prozedur nur auf eine:
Visual Basic:
'Aufruf, ohne dass etwas zurückgegeben wird (für Prozeduren und Funktionen)
stbStatusBar_ChangePanel 1,"Testtext"

'Aufruf, wenn die Funktion einen Wert zurückliefern soll:
Resultat = Funktion_stbStatusBar (1,"Testtext")
In deinem Fall gehören also die Klammern weg.


Der Doc!
 
Zurück