04. januar 2003 - 20:03Der er
10 kommentarer og 1 løsning
unsafe typecasting
Efter at have flyttet et program fra Delphi 6 til Delphi 7 får jeg en warning som jeg ikke lige kan slippe af med.
Jeg har en TList med en række objekter. Når jeg så skal typecaste objekterne for at kunne bruge deres properties, så kommer Delphi 7 og siger unsafe typecast. Jeg gør fx følgende for at få fat i en værdi: TKlasse(Listen.Items[nr]).Noget
Jeg har prøvet at spørge således for at prøve at undgå den warning(giver dog error): if Listen.Items[nr] is TKlasse then TKlasse(Listen.Items[nr]).Noget
Safe typecast er med AS operatoren du kan prøve med den, TKlasse(Listen.Items[nr]).Noget vil ALTID være unsafe, men du kan sagten køre alligevel hvis du bare ved det er en ok typecast.
Jeg ved netop at det er kun den klasse som listen indeholder. Kan du forklarer hvorfor Delphi mener at typecasting med AS er mere sikkert end med TKlasse() rundt om?
Kan man så kan give en eller ande parameter til compileren sådan at man ikke ser den warning da man ved at den ikke betyder noget. Men kna selvfølgelig slå den slags fejl fra, men vil helst det andet.
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.