Avatar billede hankster Nybegynder
11. oktober 2001 - 14:39 Der er 5 kommentarer og
1 løsning

Tilføje en label ved runtime

Jeg skal lave et form, hvor man kan tilføje en label ved runtime.

Forsøget:

procedure TForm1.Button1Click(Sender: TObject);
var l: Tlabel;
begin
  l:= TLabel.Create(Self);
  l.name:= \'lblUgh\';
  l.Caption:=\' ugh!!!\';
  l.top:=  10;
  l.left:= 10;
end;

Der er her ikke nogen label at se på formen, men den er oprettet, da der kommer en navnefejl  hvis man trykker på button1 2 gange

(already got a label named \"lblUgh\")

hvad gør jeg?
Avatar billede unclebug Nybegynder
11. oktober 2001 - 14:41 #1
Du mangler at sætte l.Parent til Self (TForm1)
Avatar billede hankster Nybegynder
11. oktober 2001 - 14:43 #2
Det gør den selv i constructoren
Avatar billede unclebug Nybegynder
11. oktober 2001 - 14:47 #3
l.Parent := Self;

Så virker det, trust me :o)

Avatar billede hankster Nybegynder
11. oktober 2001 - 14:51 #4
Damn.... u\'r right

Fuck

Jeg har stirret mig blind på det i laaaaaaaang tid nu...

takker
Avatar billede unclebug Nybegynder
11. oktober 2001 - 14:53 #5
Jeg har selv gjort det samme, det er derfor jeg ved det *g*
Avatar billede martinlind Nybegynder
11. oktober 2001 - 20:16 #6
Forklaringen er at det er Parent der bliver bruget i Paint rutinen, dvs at for at din nye label skal modatge en besked på at blive tegnet skal den ha\' en parent, det du giver den ved create er en Owner som er noget helt andet, den bliver brugt af delphi comp. lister og gør at den bla. bliver free\'et når du free\'r form\'en

/Martin
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