Avatar billede maude Nybegynder
19. maj 2008 - 14:15 Der er 8 kommentarer og
1 løsning

False bliver til Falsk

Jeg har en variabel som i et com-object tildeles værdien False. Værdien sendes i et array sammen med andre oplysninger tilbage til det kaldende asp-program.

Nu er værdien skiftet til Falsk. Hvorfor? Er der nogen der har et bud?

Fejlen kan ikke rettes med et hack da problemet findes mange steder desuden er det kun tilfældet ved bestemte kodeid'er.
Avatar billede solle Nybegynder
19. maj 2008 - 14:22 #1
Værdien burde stadig være en boolean...

Er det ikke kun visningen der er "Falsk" .. altså på dansk?
Avatar billede w13 Novice
19. maj 2008 - 14:23 #2
Men fungerer "Falsk" så ikke stadigvæk ligesom "False"?
Og ellers er det vel sikrere at bruge 0 og 1 i stedet for False og True.
Avatar billede softspot Forsker
19. maj 2008 - 14:28 #3
Det er givetvis kun et problem, hvis der er tale om en streng-sammenligning.

Jeg kan ikke lige gennemskue hvordan det skal blive rettet uden at du enten skal rette COM-komponenten, ASP-koden der bruger COM-komponenten, eller sproget på serveren. Det sidste er jeg lidt usikker på, hvordan skal gøres i praksis (ud over regionale indstillinger). Det er heller ikke en farbar vej efter min mening, da det vil være en alt for risikabel manøvre ifht. sideeffekter - for ikke at tale om symptombehandling! :)

Jeg ville nok sørge for at rette ASP-koden, så der ikke sker en strengkonvertering af den boolske værdi, f.eks. ved at benytte funktionen cbool() på de værdier der skal sammenlignes med det returnerede array. På den måde vil VBScript undlade at foretage typekonvertering i baggrunden og din kode bliver mere robust...
Avatar billede solle Nybegynder
19. maj 2008 - 14:37 #4
w13, jo variablen er stadig en boolean, med mindre det er en streng sammenligning som softspot skriver....

Ved ikke om en eventuel "session.lcid=1033" ville gøre forskel...
Avatar billede maude Nybegynder
19. maj 2008 - 14:42 #5
Softspot: Det løste faktisk problemet med at ændre regionale indstillinger. I dette tilfælde en brugbar løsning p.g.a. systemets korte levetid.

Smid et svar så får du point i morgen.
Avatar billede solle Nybegynder
19. maj 2008 - 14:53 #6
maude, jeg er lidt nysgerrig...

Har det nogle effekt at tilføje "session.LCid=1033" i toppen af dit script?
Avatar billede softspot Forsker
19. maj 2008 - 15:34 #7
Jeg har tendens til at være enig med solle i at LCID bør prøves som et alternativ til at ændre indstillingerne for maskinen, da ændring af regionale indstillinger som nævnt har konsekvenser for ALLE applikationer på maskinen. Desuden vil problemet opstå igen, hvis du flytter din applikation til en anden server - hvis den ikke har de rigtige indstillinger. Ydermere er det ikke sikkert at en ændring af regionale indstillinger er en mulighed på den server der flyttes til. Det er bedre at vælge en lokal ændring frem for en global ændring, da det er lettere at overskue konsekvenserne af en lokal løsning... :)
Avatar billede maude Nybegynder
20. maj 2008 - 08:25 #8
Problemet findes kun på localhost. Applikationerne kører på 3 andre "rigtige" serverer uden problemer. Mine kolleger der ingen problemer har på localhost har samme regionale indstillinger som jeg nu har ændret til.

At sætte session.LCid=1033 er måske en brugbar teoretisk løsning men idet jeg har rigtig mange scripts og begrænsede resourcer ikke muligt i praksis.
Avatar billede softspot Forsker
20. maj 2008 - 08:38 #9
LCID kan evt. sættes i global.asa på Session_OnStart, så burde den vel bestå lige så længe som session og blive sat hvis session udløber - det er da vist en relativt billig løsning... :)

Tak for point :)
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