Rubrik: Variablen/Strings · Sonstiges | VB-Versionen: VB6 | 25.08.02 |
Aufruf einer Sub/Funktion durch eine Variable Ein Beispiel das zeigt, wie sich eine Prozedur durch eine Variable aufrufen lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 37.621 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Vor kurzem wurde uns die Frage gestellt: "Wie lässt sich eine Prozedur durch eine Variable aufrufen?"
Beispiel:
In einer String-Variable steht der Name einer aufzurufenden Prozedur, z.B. "ShowMessage". Innerhalb des Programms existiert natürlich auch eine solche Prozedur. Der Inhalt der Variable wurde z.B. aus einer Textdatei ausgelesen. Wie aber schafft man es nun, dass die Prozedur auch aufgerufen wird?
Die Lösung hierfür bietet die CallByName-Funktion:
Dim sVariable As String sVariable = "ShowMessage" CallByName Me, sVariable, VbMethod
Erstellen Sie ein neues Projekt mit einer Form und einem CommandButton. Fügen Sie dann folgende Zeilen in den Codeteil der Form ein:
Option Explicit Public Sub ShowMessage() MsgBox "abcd" End Sub Private Sub Command1_Click() Dim sVariable As String sVariable = "ShowMessage" CallByName Me, sVariable, VbMethod End Sub
Sollte die aufzurufende Prozedur Parameter erwarten müssen diese nach vbMethod angegeben werden. Also erweitern wir unser kleines Beispiel...
Option Explicit Public Sub ShowMessage(ByVal sText As String) MsgBox sText End Sub Private Sub Command1_Click() Dim sVariable As String Dim sText As String sVariable = "ShowMessage" sText = "Irgend ein Text" CallByName Me, sVariable, VbMethod, sText End Sub