Forum: PC-Programmierung VB6: Frage zu Aufruf von Prozeduren/Function mit Parameter


von Ralf (Gast)


Lesenswert?

Hallo,

ich arbeite mich grad in VB6 ein.
Mittlerweile bin ich soweit, dass ich Prozeduren/Funktionen mit 
Parameter-Übergabe machen. Und dazu hab ich jetzt folgende Frage.
Bei den Aufrufen setze ich die Parameter in Klammern hinter den Namen.
Dabei zeigt mir VB6 dann einen Syntax-Fehler an.
Lösche ich die Klammern, und schreibe den Parameter hinter den Namen, 
getrennt durch Leerzeichen, dann gehts.
Kann mir jemand erklären, woher das kommt? Ich dachte eigentlich, dass 
beim Aufruf Parameter immer in Klammern hinter die aufzurufende 
Prozedur/Funktion kommen...


Ralf

von TheMason (Gast)


Lesenswert?

wenn du mit klammern arbeiten willst setze ein call davor :

call Funktion1 (parameter1, parameter2 , ...)

ohne klammern darf das call da nicht stehen, also

Funktion1 parameter1, parameter2, ....

wenn deine Funktion einen wert zurückgibt (also public/private FUNCTION)
MUß (!!) bei deinem aufruf eine klammer (aber kein call) stehen

variable1 = FunktionMitRückgabe (Parameter1, Parameter2, ...)


Bin vor nem 3/4 Jahr auch darüber gestoplert ....

Hoffe ich konnte dir helfen

Gruß
Rene

von Ralf (Gast)


Lesenswert?

Hallo Mason,

okay, wenn eine Funktion mit Klammern arbeiten muss, wirds klar, das 
könnte passen. Ich werds heut abend mal prüfen. So wie es sich verhält, 
ist der Teil meines Programms, der keine Klammern akzeptiert hat, eine 
Prozedur, keine Funktion. Prozeduren arbeiten demnach wohl ohne 
Klammern.

Besten Dank für die Hilfe

Ralf

von Markus V. (valvestino)


Lesenswert?

Hallo Ralf

Ralf wrote:
> Prozeduren arbeiten demnach wohl ohne Klammern.

Nicht generell
Wie Rene oben bereits schieb:
1
call prozedur ( par1,par2 ) ' Aufruf mit call mit Klammern
2
prozedur par1 par2          ' Aufruf ohne call ohne Klammern

Gruß
Markus

von Ralf (Gast)


Lesenswert?

Hallo Markus,

okay, aber wozu braucht man den Call? Sicher nicht im Normalfall...

Ralf

von TheMason (Gast)


Lesenswert?

@ralf

es macht keinen unterschied ob du

prozedur a, b, c

oder call prozedur (a, b, c)

schreibst.
VB interpretiert beides als funktionsaufruf mit den parametern a, b und 
c.
warum das so enstanden ist frage microsoft oder leute die es wissen :-)
ich weiß es leider nicht.
das call hat sonst (soweit ich weiß) keine weitere funktion.

von Dilligent (Gast)


Lesenswert?

Wer benutzt denn noch freiwillig VB6? Oder gehts hier um makro's in 
Office?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.