Avatar billede landsbytossen Nybegynder
10. september 2001 - 09:35 Der er 3 kommentarer og
2 løsninger

Tilføj variabel til event

Har et onclick event til en runtime oprettet kontrol.
Eventet virker ok:
Img.OnClick := ImgOnClick;
Proceduren ImgOnClick bliver kaldt.
Nu vil jeg gerne have værdien af en variabel med over i min ImgOnClick procedure, der er defineret:
procedure TForm1.ImgOnClick( Sender : TObject );
Jeg vil lave om på den så den hedder:
procedure TForm1.ImgOnClick( Sender : TObject; i : integer);
derefter kalder jeg onclick eventet med
Img.OnClick := ImgOnClick(i); men der kommer selvfølgelig en konflikt til TObject, er det ikke muligt at fører en variabel over sammen med eventet?
Hvordan kaldes Img.OnClick := ImgOnClick(?,i);
Avatar billede morten_s Nybegynder
10. september 2001 - 09:39 #1
Jeg tror ikke det er muligt medmindre du skriver dit OnClick event om og tilføjer variable.

Men kan du ikke bare ligge det du skal have overført i en globalvariabel ?
Avatar billede landsbytossen Nybegynder
10. september 2001 - 10:43 #2
En global variabel duer ikke da den ændres runtime. Jeg opretter ml 1-255 kontroller (Img1-255) på en form. Med Img.OnClick skal jeg have ført med over hvilken af kontrollerne man klikkede på. Da kontrollerne jo oprettes i et runtime loop vil den globale variabel altid \"kun\" indeholde det sidste kontrolnummer.
Men kan man skrive et OnClick event om?
Problemet er at jeg skal referere til mine kontroller i en anden procedure (OnClick) end den de er oprettet i i runtime. Det ville være ganske rart at have adgang til sine runtime oprettet kontroller i design time :-)
Avatar billede martinlind Nybegynder
10. september 2001 - 10:45 #3
Det kan du ikke, den OnClick event der bliver kaldt kan du ikke ændre på, men du kan Evt. bruge Img.Tag, det er en Integer du kan sætte til at pege på hvad som helst ( Obj, string osv. )

/Martin
Avatar billede landsbytossen Nybegynder
10. september 2001 - 11:04 #4
Genialt Martin, Img.Tag klare det hele, Takker
Avatar billede martinlind Nybegynder
10. september 2001 - 11:08 #5
selv tak *S* ( Delphi er genialt *G* )
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