Gå til innhold

Feil med variabel som er deklarert "As Object"


Anbefalte innlegg

I følgende kodesnutt:

Public Function settsprak(sprak As String)
free = FreeFile
Open App.Path & "\lang\" & sprak & ".spr" For Binary As #free
   TEMP = Space(LOF(free))
   Get #free, , TEMP
Close #free
Dim sprakv As Variant
Dim spraktemp As Variant
Dim sprakobjekt As Object
sprakv = Split(TEMP, vbCrLf)
ReDim sprakvar(0 To UBound(sprakv))
For i = 0 To UBound(sprakv)
   spraktemp = Split(sprakv(i), "=")
   sprakobjekt = spraktemp(0)
   sprakobjekt.Caption = spraktemp(1)
Next i
End Function

Der i=0 og sprakv(i)="Label3=Captionen til label3",

blir sprakobjekt "Label3" og spraktemp(1) "Captionen til label3" (dette går fint, begge to får den verdien de skal ha, det har jeg sjekket).

 

Men jeg får ikke lov til å skrive "sprakobjekt.Caption=spraktemp(1)" (som jeg trodde betydde det samme som (i dette eksempelet) Label3.Caption="Captionen til label3".

Da får jeg: "Object variable or With block variable not set", og linjen

"    sprakobjekt = spraktemp(0)" 

blir merket.

 

Hvordan bruker jeg "As Object"-deklareringen korrekt?

 

- Degeim

Endret av Degeim
Lenke til kommentar
Videoannonse
Annonse

Du har altså navnet på en label og vil skifte caption? Det fungerer ikke så lett som det. La meg sette sammen en kodensnutt for deg, edit'er innlegget når jeg er ferdig.

 

Edit: Done, ganske enkel kode, regner med at du ser prinsippet med en gang. ;)

 

Edit: Gikk litt fort der, ja. Rettet feilene, I tilfelle noen andre ville se på.

FindObjectByName.zip

Endret av Jonas
Lenke til kommentar

Det stemmer. Har navnet og ny caption, og vil skifte caption.

 

På forhånd takk, Jonas :)

 

Edit (etter Jonas sin edit): Akkurat hva jeg måtte ha (du callet forresten funksjonen med feil navn, men det skjønte jeg jo;)). Tusen takk for raskt og flott svar!

Endret av Degeim
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...