|
| Kan ikke bruge en variabel fra en listebok~ Fra : m-olesen |
Dato : 07-03-03 20:18 |
|
Hej
Jeg sidder og forsøger at bruge en variabel fra en listeboks til at kalde en
Function,
men det vil sku ikke, det skidt....
eksempel
Dim strTest as string
strTest = bla bla
Call strTest
Er der nogen der har de vise sten??
-MO-
| |
m-olesen (07-03-2003)
| Kommentar Fra : m-olesen |
Dato : 07-03-03 21:52 |
|
Det er det her jeg gerne vil:
Private Sub Start()
Dim strSub As String
strSub = "test"
Call strSub
End Sub
Sub test()
MsgBox "Test"
End Sub
| |
Arne (08-03-2003)
| Kommentar Fra : Arne |
Dato : 08-03-03 00:06 |
|
> Private Sub Start()
> Dim strSub As String
> strSub = "test"
> Call strSub
> End Sub
>
>
> Sub test()
> MsgBox "Test"
> End Sub
Ordkløveri, men en Sub er ikke en Funktion!
Prøv denne:
strSub = "test"
strSub ' altså uden Call
Jeg formoder du har styr på kaldet til Sub Start..??!!...der lissom skal
starte det hele.
--
mvh.
Arne Rasmussen
www.rasweb.dk
| |
m-olesen (08-03-2003)
| Kommentar Fra : m-olesen |
Dato : 08-03-03 01:01 |
|
:
>
> strSub = "test"
> strSub ' altså uden Call
>
Hmmmm
Der sker det samme, en fejl.
-MO-
| |
Arne (08-03-2003)
| Kommentar Fra : Arne |
Dato : 08-03-03 10:19 |
|
> Hmmmm
> Der sker det samme, en fejl.
Hvilken fejl..??
Prøv lige denne
Private Sub Start()
Dim strSub As String
strSub = "test"
MsgBox strSub
End Sub
Skrives værdien ud..?
| |
preben nielsen (08-03-2003)
| Kommentar Fra : preben nielsen |
Dato : 08-03-03 10:27 |
|
"Arne" <via@hjemmeside.dk> skrev i en meddelelse
news:b4ccin$emh$1@sunsite.dk...
> > Hmmmm
> > Der sker det samme, en fejl.
>
> Hvilken fejl..??
>
> Prøv lige denne
>
> Private Sub Start()
> Dim strSub As String
> strSub = "test"
> MsgBox strSub
> End Sub
>
> Skrives værdien ud..?
Du har da vist ikke hverken læst spørgsmålet eller prøvet dit eget
(forrige) svar
--
/\ preben nielsen
\/\ prel@post.tele.dk
| |
Arne (08-03-2003)
| Kommentar Fra : Arne |
Dato : 08-03-03 10:43 |
|
> Du har da vist ikke hverken læst spørgsmålet eller prøvet dit eget
> (forrige) svar
Jow, men jeg er vist mere vant til script-sprog hvor den slags godt kan lade
sig gøre. (men kan godt se det nu du siger det)
Men dit svar til MO gav også mig svar på et indlæg fra d. 3/3-03 vedr. kald
af Funktion.
Så tak alligevel.
mvh.
- Arne.
| |
Tomas Christiansen (08-03-2003)
| Kommentar Fra : Tomas Christiansen |
Dato : 08-03-03 21:50 |
|
m-olesen skrev:
> Det er det her jeg gerne vil:
>
> Private Sub Start()
> Dim strSub As String
> strSub = "test"
> Call strSub
> End Sub
>
> Sub test()
> MsgBox "Test"
> End Sub
Modsat hvad man måske umiddelbart skulle tro, så kan det faktisk godt
lade sig gøre i VB6 (mener dog ikke i VB5).
Det handler om at bruge CallByName. Eksempel:
Public Sub test()
MsgBox "Hejsa!"
End Sub
CallByName Me, "test", VbMethod
CallByName Me, "xxxx", VbMethod
Den første CallByName vil virke, idet der findes en 'metode' (en
procedure) ved navn "test".
Den anden CallByName vil fejle, idet der ikke findes en 'metode' (en
procedure) ved navn "xxx".
Me kan naturligvis erstattes af navnet på en anden form, eller evt. et
objekt, som du selv har defineret, hvis dette måtte ønskes.
HUSK at de metoder (procedurer), som du vil kalde SKAL være public (også
selvom de bliver kald inde fra samme form ved at angive objektet Me).
-------
Tomas
| |
preben nielsen (08-03-2003)
| Kommentar Fra : preben nielsen |
Dato : 08-03-03 08:56 |
|
"m-olesen" <m.olesen@pc.dk> skrev i en meddelelse
news:3e68f033$0$138$edfadb0f@dtext01.news.tele.dk...
Dim strTest as string
>strTest = bla bla
>Call strTest
Det kan du generelt ikke i et compileret sprog.
>Er der nogen der har de vise sten??
Hvis du har et begrænset udvalg:
strTest = "FunktionA"
Select Case StrTest
Case "FunctionA"
FunctionA
Case "FunctionB"
FunctionC
Case "FunctionC"
FunctionC
End Select
/\ preben nielsen
\/\ prel@post.tele.dk
| |
|
|