Prova TypeName() eller helt enkelt:
if obj is nothing then
Det är känns dock som fel sätt att lösa problemet på... Vad är det för objekt? Hur ser koden ut? Hur märker du att objektet inte är skapat?
16 svar · 716 visningar · startad av pb81
Hur kollar jag om ett object verkligen har skapats?
Har haft problem att det inte skapas ibland så jag tänkte lägga in så att den prova att öppna objektet o köra det 3ggr annars felmeddelande
Prova TypeName() eller helt enkelt:
if obj is nothing then
Det är känns dock som fel sätt att lösa problemet på... Vad är det för objekt? Hur ser koden ut? Hur märker du att objektet inte är skapat?
Typ såhär då?
Set OBJECT = Server.CreateObject("OBJECT")
If OBJECT is Nothing Then
Set OBJECT = Server.CreateObject("OBJECT")
End If
IF OBJECT is Nothing Then
Set OBJECT = Server.CreateObject("OBJECT")
End If
Bla bla bla
Set OBJECT = Nothing
När vi ändå är igång med object..
Vilket är bäst att köra
Set OBJECT = Server.CreateObject("OBJECT")
OBJECT.Bla1
OBJECT.Bla2
OBJECT.Bla3
Set OBJECT = Nothing
Eller
Set OBJECT = Server.CreateObject("OBJECT")
With OBJECT
.Bla1
.Bla2
.Bla3
End With
Set OBJECT = Nothing
spelar direkt inte någon roll. Använd det du känner dig mest hemma ;)
Kan tänka mig att det är någon prestanda ökning kanske med with Object... men har inte detta på papper som styrker mig ;)
I det här triviala fallet finns det ingen anledning till varför with skulle ge en prestandaökning, det är bara en syntaktisk genväg/omväg som ger samma resultat som om man inte använder det.
Ändrade iaf så den kollar 2ggr om objektet skapas.
Lär ju märka om det funkar bättre med tiden.
La även till With nu, funkar kanon.. Som sagt prestandan blir väl inte bättre men mindre kod iaf ;)
Det var inget alternativ att försöka lösa själva problemet istället? :)
Var inte säker på hur man kollade Nothing.. sorry
Var inte säker på hur man kollade Nothing.. sorry
Jag anser inte att det är det som är problemet, men jag vet ju inget. :)
Vad är det som bekymmra dig då? Fick ju svaret på det jag ville veta! ;)
Och det gick fort.. Kan ju inte bli bättre.
Jag anser att det riktiga problemet består i att objektet inte alltid skapas. Så istället för att gå runt det med att skapa objektet några fler gånger tills det är skapat, borde man ta reda på varför objektet inte skapats från början, och lösa det problemet.
Som en sån här lösning när man har problem med varmvattnet.
Som sagt, jag vet ingenting, eftersom du inte visat något av din kod, eller berättat något om vad det är för sorts objekt, men jag ville bara öppna hjärnan för tankar på att söka problemlösning där problemet uppstår, istället för att försöka bota symptomen.
mvh
Felet ligger nog inte att den inte skapar objectet.. Jag tror mer på att det är objectet i sig som har felaktigheterna.. Tänkte prova så här till och börja med
Får följande felmeddelande
Method '~' of object '~' failed
Kod saknas
Och raden hänvisar direkt till objectet
Vad är det för objekt då? Och vad menar du med "kod saknas"?
pb81 skrev:
Felet ligger nog inte att den inte skapar objectet.. Jag tror mer på att det är objectet i sig som har felaktigheterna.. Tänkte prova så här till och börja med
Får följande felmeddelandeMethod '~' of object '~' failed
Kod saknasOch raden hänvisar direkt till objectet
Vad är det för server/maskin du kör koden på? Det kan inträffa ibland, i COM, det där.
Och som @nders sa; vad är det för objekt/komponent?
pb81 skrev:
När vi ändå är igång med object..
Vilket är bäst att köraSet OBJECT = Server.CreateObject("OBJECT") OBJECT.Bla1 OBJECT.Bla2 OBJECT.Bla3 Set OBJECT = NothingEller
Set OBJECT = Server.CreateObject("OBJECT") With OBJECT .Bla1 .Bla2 .Bla3 End With Set OBJECT = Nothing
Kan ju förenkla det ännu mer...
With Server.CreateObject("OBJECT")
.Bla1
.Bla2
.Bla3
End With
Jag avmarkerade trådskaparens svar, där denne ansåg att lösningen på problemet var att försöka öppna objektet tre gånger. Detta är inte en lösning som jag ser som slutgiltig och inget vi heller vill rekommendera andra som läser denna tråd.
Jag upprepar min fråga;
Jag skrev:
Vad är det för server/maskin du kör koden på? Det kan inträffa ibland, i COM, det där.
Och som @nders sa; vad är det för objekt/komponent?
Är du på ett webbhotell?
MVH
OveRRidE, moderator