03. oktober 2004 - 19:48Der er
9 kommentarer og 1 løsning
Problem med ArrayList
Jeg kæmper med et lille problem der drejer sig om at når jeg gentegner på min form(ved flere tegninger) får jeg en fejl. Der siger at det ikke er muligt at lave et sådanne cast men hvis jeg kun laver en tegning er der ikke nogen problemer.
Fejlen bliber præsenteret ved den sidste tuborg-klamme({)
Som i kan se hedder mit ArrayList myAL. Der hvor jeg tegner, er i 3 forskellige klasser der alle nedarver fra en abstract klasse GraphicObject med en funktion der tegner.
Programmet kan køre hvis jeg sætter myAL.Clear ind. Og tegne alle fra alle 3 klasser.
Main/OnPaint procedure er som følgende(uddrag af program): static void Main() { Application.Run(new Form1()); }
//foreach(ArrayList al in myAL) for(int i = 0; i < myAL.Count; i++) { SetPoints sp = new SetPoints(); go = (GraphicObject) myAL[i++]; sp = (SetPoints)myAL[i++]; go.Draw(gfx,sp); } //myAL.Clear(); }
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Jo jeg ligger 2 objekter ind. En til at holde kordinaterne(en struct med to Point objekter) og objektet der skal tegnes. Kan det evt. hjælpe hvis jeg ligger hele koden ind?
er du gal hvor kan jeg dog ikke skrive... der skulle have stået : Så vil det jo kikse når du for hver runde får lagt 3 til i... (du lægger både til i løkken, og hver gang du spørger på den).
Alterntivt kan du nøjes med at rette for(int i = 0; i < myAL.Count; i++) til for(int i = 0; i < myAL.Count;) og beholde de to i++ i arrayopslagene. Det vil gøre det lidt tydeligere for mig hvad der sker ;)
for(int i = 0; i < myAL.Count/2; i++) { ... go = (GraphicObject) myAL[2*i]; sp = (SetPoints)myAL[2*i+1]; ... }
Synes godt om
Ny brugerNybegynder
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.