26. august 2000 - 16:11Der 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 ?
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:
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?
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).
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.