Avatar billede macpain Nybegynder
03. december 2004 - 22:56 Der er 5 kommentarer og
1 løsning

Brug af flere objekter ved brug af dynamisk loadning af .dll

Mit problem er at jeg bruger Reflection til at loade mine objekter/klasser.

Når jeg så bruger min instans og ligger denne ned i en ArrayListe og gør dette flere gange ville jeg gerne have at det var flere objekter jeg havde fået lavet.
Instancen der bliver lagt ned bliver oprettet på ny hver gang

Men nej, det er jo KUN en instance der peger på det samme objekt.

Altså jeg har kun fået gemt en reference til objektet.

Håber ikke det er volapyk.

Er der nogen der kender noget til dette problem?

Dette er svært!! Derfor de mange point for en løsning.

Loader jeg forkert ind eller hva!

Hvis der er nogen der har et super link så bare kom med det
Avatar billede aaberg Nybegynder
03. december 2004 - 23:04 #1
Hvis du vil have flere instanser af en klasse ind i en arrayliste, skal du oprette en ny instans hver gang.

nedenstående putter 100 instanser af i en arrayliste.

for (int i = 0; i < 100; i++)
{
  myClass myObject = new myClass();
  myArraylist.Add(myObject);
}


Det jeg tror du gør forkert, er at du ikke bruger "new" hver gang du tilføjer en instans af din klasse til arraylisten. Hvis man ikke gør det, bliver din arraylist fyldt med ens objekter.
Avatar billede aaberg Nybegynder
03. december 2004 - 23:05 #2
ups.
nedenstående putter 100 instanser af i en arrayliste. = nedenstående putter 100 instanser af din klasse i en arrayliste.
Avatar billede macpain Nybegynder
04. december 2004 - 00:53 #3
Det gør jeg også, hvis det bare var en alm. klasse jeg skulle have fat i var det ikke noget problem.
Problemet består i at jeg skal have fat i:
Activator.CreateInstance eller
Activator.CreateInstanceForm for at få det til at fungere korrket
jeg henter fra en dll jeg hiver ind fra Load eventhandleren når jeg åbner en form.
Når jeg så skal bruge en instance skal jeg have en sådanne kreeret, og det er her det går galt!
Avatar billede arne_v Ekspert
04. december 2004 - 01:49 #4
Hvis du kalder Activator.CreateInstance flere gange får du vel også
forskellige objekter ??
Avatar billede macpain Nybegynder
04. december 2004 - 02:01 #5
Jo, det har du ret i.
Men som jeg skriver, eller prøvede hehe, så er det ikke bare lige til når jeg laver en instance skal jeg:
1. Bruge UnWrap() for at komme komme igennem Marshal skallen, der skal bruge en klasse med nedarvning fra MarshalRef...
2. Køre den igennem en Collection, i en klasse der nedarver fra Collectionbase
det er så der jeg står nu og prøver at wrappe noget sammen.

Men føler at jeg kan komme lettere over det end jeg lige regner med
Avatar billede macpain Nybegynder
08. december 2004 - 04:04 #6
Jeg lukker lige spg. men opretter lige et nyt med de side info fra mig!!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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