Avatar billede robertmp Nybegynder
27. oktober 2005 - 13:26 Der er 3 kommentarer og
2 løsninger

Typecasting spg

Har lavet en container class som holder styr på 2 objectlister.

Eksempel:
TContainer = Class
private
  Flist1: TObjectlist; {TPlut objekter}
  Flist2: TObjectlist;
public
  Property List1: TObjectlist read Flist1 write Flist1;
  Property List2: TObjectlist read Flist2 write Flist2;
end;

Når jeg skal hive objekter ud skal jeg cast dem.
TPlut(MyContainer.list1[X]).Something

Kan det ikke laves smartere så jeg ikke behøver lave de typecasts konstant? Ville være nice hvis mit container objekt kunne stille lidt mere funktionalitet til rådighed så jeg ikke behøvede typecasts.

Ved ikke om det giver mening for nogen af jer :)
Avatar billede martinlind Nybegynder
27. oktober 2005 - 13:31 #1
du skal bare lave din property til den type du skal bruge, og så lave typecast i set og get functionerne

Property List1: TPlut read GetFlist1 write SetFlist1;

/Martin
Avatar billede robertmp Nybegynder
27. oktober 2005 - 13:43 #2
Kan ikke gennemskue hvordan du så hiver itemnr X ud af Flist1
Avatar billede martinlind Nybegynder
27. oktober 2005 - 13:55 #3
Indexed/Array propery :

Property List1[ Index : Integer ]: TPlut read GetFlist1 write SetFlist1;
Avatar billede robertmp Nybegynder
28. oktober 2005 - 08:22 #4
Det spiller jo perfekt! Men har lige et tillægs spg.
Jeg havde brugt et andet navn end "Index" og fik en masse identifier redeclared fejl. Fik dog skrev index, som så blev vist bold.
Hvad er grunden til min fejl og at Index åbenbart skal have det variabel navn?
Avatar billede martinlind Nybegynder
28. oktober 2005 - 09:06 #5
"identifier redeclared fejl" er fordi du har brugt var. navnet før, mener godt du kan bruge noget andet end index.
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