Avatar billede hooh Nybegynder
14. september 2004 - 16:57 Der er 7 kommentarer og
1 løsning

brug af object efter reload

Hej

Jeg har en klasse:
Class Country
    Public Name
    Public Price1
    Public Price2
    Public p1p2Diff
   
    Public Function Compare (objOther)
        ' Default Compare for the Class is to sort by Name
'        Compare = strComp( me.Name, objOther.Name, vbTextCompare )
        Compare = strComp( me.Price1, objOther.Price1, vbTextCompare )
    End Function   
End Class

Så sætter jeg data i:
Dim aCountry, bCountry, cCountry
Set aCountry = New Country
    aCountry.Name = "Afghanistan2"
    aCountry.Price1 = 1.5
    aCountry.Price2 = 3.5
    aCountry.p1p2Diff = aCountry.Price1-aCountry.Price2
       
Set bCountry = New Country
    bCountry.Name = "Albania"
    bCountry.Price1 = 1.2
    bCountry.Price2 = 6.5
    bCountry.p1p2Diff = bCountry.Price1-bCountry.Price2

'sætter dem ind i et array
Session("arrArray2") = Array(Country0,Country1, Country2)
arrArray = session("arrArray2")

Så er spørgsmålet..

Hvordan kan jeg gemme objekter, så jeg kan genbruge mine objekter?
Iøjeblikket gemmer jeg åbenbart kun et array med navnene. Når jeg reloader så er objekterne væk.

Da jeg skal indlæse store data ønsker jeg ikke at oprette klasserne hele tiden.

Vi bare bruge de objekter som er indlæst engang.

Kan i følge mig?
Avatar billede ellebaek Nybegynder
14. september 2004 - 17:08 #1
hmm...

Dine data burde ligge i din session("arrArray2")

altså, hvis du henter den session, med denne linie: arrArray = session("arrArray2")
efter reload burde du have informationerne tilgængelige igen..
Avatar billede hooh Nybegynder
14. september 2004 - 17:09 #2
den laver et array, men informationerne er gået tabt i Country0,Country1, Country2
denne linie: Session("arrArray2") = Array(Country0,Country1, Country2)
Avatar billede ellebaek Nybegynder
14. september 2004 - 17:12 #3
ja...

Når du gør det på den måde så ligger du arrayet ind i din session.. Altså burde dette få dine informationer tilbage:

<%
arrArray = Session("arrArray2")
Country0 = arrArray(0)
Country1 = arrArray(1)
Country2 = arrArray(2)
%>
Avatar billede hooh Nybegynder
14. september 2004 - 17:14 #4
jo, men Country0 er et object.
Jeg kan ikke køre Country0.name længere
Avatar billede hooh Nybegynder
14. september 2004 - 17:16 #5
før reload:
country0 = [object]
country1 = [object]
country2 = [object]
Session("arrArray2") = Array(Country0,Country1, Country2)

efter reload:
arrArray = Session("arrArray2")
country0 = ""
country1 = ""
country2 = ""

de er ikke objecter længere
Avatar billede ellebaek Nybegynder
14. september 2004 - 17:18 #6
arh.. Nu er jeg med..
Hmm...

Umiddelbart burde det da virke ville jeg mene.

Har du prøver efter du laver det til et array..?
altså:
arrArray(0).name osv..?
Avatar billede hooh Nybegynder
14. september 2004 - 17:20 #7
jeg kører denne:
For i = LBound(arrArray) to UBound(arrArray)
    Response.Write arrArray(i).Name & " - "
    Response.Write arrArray(i).Price1 & " - "
    Response.Write arrArray(i).Price2 & " - "
    Response.Write arrArray(i).p1p2Diff & "<BR>"
Next

og får denne fejl
Object doesn't support this property or method: 'Name'
Avatar billede hooh Nybegynder
28. september 2004 - 20:54 #8
lukker - fandt på en helt anden løsning
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