Avatar billede thewizard Nybegynder
23. marts 2005 - 00:50 Der er 4 kommentarer og
1 løsning

Opret flere objekter med forskellige navne, igen, igen

Okay.. efterfølge af: http://www.eksperten.dk/spm/602276

Dim o
o = 1
Dim p As Line
  Set p = Form1.Controls.Add("VB.Line", "lh" & o)

  With p
    .Visible = True
    .X1 = Me.Width * 0.4
    .X2 = .X1
    .Y1 = Me.Width * 0.1
    .Y2 = Me.Width * 0.5

  End With

MsgBox lh1.X1
-------


MsgBox lh1.X1 virker ikke. Får denne msg: Object variable or with block variable not set.

Kan overhoved ikke få kontakt med lh1. Gør jeg istedet:

----------

Dim o
o = 1
Dim p As Line
  Set p = Form1.Controls.Add("VB.Line", "lh" & o)

  With p
    .Visible = True
    .X1 = Me.Width * 0.4
    .X2 = .X1
    msgbox .name  <---
    .Y1 = Me.Width * 0.1
    .Y2 = Me.Width * 0.5

  End With

Får jeg spyttetnavnet ud. Men kan stadig ikke komme i kontakt med det.
Avatar billede plx Nybegynder
23. marts 2005 - 01:02 #1
Brug bang-operatoren:

MsgBox Form1!lh1.X1
Avatar billede thewizard Nybegynder
23. marts 2005 - 01:08 #2
hvad jeg forsøger på er at lave:

Lh0,lh1,lh2,lh3,lh4..

Så kan man få spyttet f.eks. info ud om lh3, ændre dens X1 f.eks... :) men virker sgu ikke.
Avatar billede thewizard Nybegynder
23. marts 2005 - 01:12 #3
Virkede, plx - men hvorfor? Giv svar og forklaring :)
Avatar billede plx Nybegynder
23. marts 2005 - 01:13 #4
Med bang laver man late binding. Dot laver early binding.

Når du først kender objektet run-time, skal du bruge late binding
Avatar billede thewizard Nybegynder
23. marts 2005 - 01:18 #5
Fatter jeg ikke :). Kan du komme med en dybere forklaring? Skær det ud i pap, mester :). Dvs. jeg ALTID, når jeg kalder til lh3, f.eks., skal jeg sætte form1! foran? :) Pænt dumt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester