Avatar billede jeppebecool Nybegynder
26. august 2000 - 16:11 Der er 6 kommentarer og
1 løsning

Pointere

Jeg har lavet en klasse med en scrollbtn,
som skal styre en anden klasse med et display. Men jeg har flere slags displays ( som også er forskellige klasser).
Kan jeg lave en pointer i min scrollbtn som peger på den display klasse den skal styre ( de procedure i de forskellige displayklasser som scrollknappen skal kalde er ens)
problemet er at pointeren skal kunne styre forskellige klasser. Jeg ved at TPointer kan pege på hvad som helst, men at de ikke kan dereference dem. Og jeg kan ikke oprette pointeren som f.eks PDisplay : ^TDisplay1, for så passer den kun til den ene slags display.
Hvad skal jeg gøre ?
Avatar billede lrj Nybegynder
26. august 2000 - 16:59 #1
Der er en type der hedder en TClass - det er den du skal kigge på.. og så ellers object.classname...
Avatar billede jeppebecool Nybegynder
26. august 2000 - 17:59 #2
Kunne du uddybe det lidt :)

jeg har kun programmeret ½ år
Avatar billede lrj Nybegynder
26. august 2000 - 20:37 #3
Jeg havde ikke læst spørgsmålet ordentligt. Det du gør er at lave din pointer (din objekt-variabel) til en type som er fælles for alle de objekter du vil styre. Umiddelbart lyder det som TComponent er den fælles - så definer din pointer til at være af typen TCOmponent. Og så kan du ellers spørge den forekomst der er i din variabel (pointeren) fx:

if pointervariabel is TDisplay then blah blah

Hjalp det?
Avatar billede jeppebecool Nybegynder
28. august 2000 - 13:22 #4
Okay ... jeg forstår. Men man skal altså igennem alle de if sætninger hver gang, selv om procedurerne er ens for de forskellige objekter jeg vil styre ?
By the way : et objekt er det en klasse som man har created ? eller er det en instans, jeg kan ikke rigtig finde ud af det?
Avatar billede lrj Nybegynder
29. august 2000 - 00:05 #5
En klasse er en type. Man opretter et objekt som er en instans af en klasse. På en instans kan man udføre metoder og aflæse egenskaber (properties). Giver det mening?

Og ja, det bliver vist noget med nogle if-sætninger i dit tilfælde. Du kan evt. bruge en isParent metode (mener jeg den hedder).
Avatar billede jeppebecool Nybegynder
29. august 2000 - 14:38 #6
Tak skal du have.

Nu virker det. Jeg har bare smidt displayet ind som et TObject, og så spørger jeg på MyObject.ClassName.

Tusind tak
Avatar billede lrj Nybegynder
29. august 2000 - 17:04 #7
Velbekomme :)
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