28. juni 2001 - 17:05Der er
4 kommentarer og 2 løsninger
Applet der crasher IE ?
Hej !....
hvor \"svært\" er det at lave en applet der crasher internet explorer ? bare rolig, jeg ønsker ikke at bruge dette til noget destruktivt, men jeg har lidt af et problem med en applet jeg bruger i et projekt, jeg er nemlig lidt bange for at det er den der gør at min IE bliver slagtet rimlig ofte....
Det er ikke nær så stort et problem på W2K maskiner som på 98 ( selvfølgelig ), men stadig et klart problem.... der kører 2 tråde ( + en main tråd ? ) der begge snakker med browseren igennem et netscape.javascript.JSObject.... er der noget jeg skal være klar over? passe på ? med hensyn til oprydning, initialisering ?...
jeg kan desværre ikke dele koden med jer, da det ikke er min, jeg arbejder bare på den.... :(
Med venlig hilsen og på forhånd tak, Ulrik Jensen ulrik@qcom.dk
argh !.... der må da være lidt hjælp at hente her...
starter jeg dem rigtigt ? er det ikke nok at typecase til Thread, istedet for den med new Thread ? ( det er som sagt ikke mig der har lavet koden, så jeg kender ikke motivet med det )... og er det nok at sætte stop = true ? eller skal man sætte dem til null også ? bliver threads omgået af garbage collectoren ? og i så fald, hvordan gør man det manuelt ?
hmm, er der virkelig ikke nogen der kan hjælpe her ? bare et lille bitte svar ? eller en kommentar ? har folk overhovedet SET det her spørgsmål ? ville være rart med lidt tovejs kommunikation her :((
hjælper det hvis jeg siger at både CTraadEins og CTraadZwei er defineret ca sådan her :
class CTraadZwei extends Thread { ... }
er der nogen der kender noget godt litteratur|linkgs|something om emnet så ? helst noget online ?
hvis det er pointsene der mangler så afsætter jeg altså lige nogle flere !! plz help me, or atleast talk to me......
Ok, men folk er nok bange for at de ikke rigtig kan gøre så meget her, fordi problemerne kan muligvis ligge andre steder, end hvor vi opererer normalt, men jeg kan da godt kommentere lidt på det.
Eftersom klassen CTraadZwei extender Thread har den sin egen start metode, og der burde derfor stå
traadzwei = new CTraadZwei(this, js); traadzwei.start();
med hensyn til traadeins.stop = true;
Så betyder det, at klassen har en tilgængelig attribut, som hedder stop af typen boolean. Den kan ikke sættes til null :-)
Tråde fungere på følgende måde i java.
Når man kalder metoden start() på en tråd, bliver der skabt en ny tråd (Ikke at forveksle med en klasse, som fejlagtigt hedder Thread, så lad os kalde det en eksekveringstråd). Det betyder, at efterfølgende vil der være minimum 2 eksekveringstråde, os selv og den anden.
Nr2 eksekveringstråd skal starte et sted, så den udfører pr definition en metode, der hedder public void run().
Generelt set kører tråde kontinuerligt indtil metoden run() afsluttes, så nedlægges eksekveringstråden automatisk (selv om objektet Thread stadig findes).
Typisk vil man gerne fortælle en tråd udefra, at den skal stoppe, men da kriteriet er afslutning af metoden run(), laver man typisk følgende i en run metode:
while(someRunningConditionIsTrue) { doStuff(); Thread.sleep(1); // typically }
Og denne someRunningConditionIsTrue kunne foreksempel være evalueringen af en boolsk variable, f.eks. kaldet stop
Men for at vende tilbage til dit hovedspørgsmål.
Hvorfor din applet crasher lige præcis i IE på en 98 er næsten umulig at afgøre, men afhænger 90% af den virtuelle maskine.
Har du kørt problemet med en javalog, for hvis der ikke kommer noget i en sådan er du (desværre) henvist til MS support.
det var sådan set også selve klassen CTraadEins jeg ville sætte til null.....
ok, den crasher nu ikke kun på en 98 maskine, det sker også på windows2000 maskiner, og både med IE5.5 og 5.0.........
hvordan får jeg en javalog op at køre ? skal jeg starte den inde fra \"Java Plug-in Control Panel\" ?
ok, jeg takker for dit svar, du får 100 point for det, ok ? jeg synes ikke jeg vil slynge 300 point for det, da problemet jo ikke helt er løst.
Synes godt om
Ny brugerNybegynder
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.