niggerguy Skrevet 8. august 2009 Del Skrevet 8. august 2009 Her er koden! http://pastebin.com/f1531a45e Det C# express sier er: Object reference not set to an instance of an object. på linje: 96. Denne koden her altså: timeChecker.StopTimeChecker();. Dør hele denne klassen når jeg er ferdig å trykke? Er ComputerSleepMain bare en thread som starter når jeg trykker på en knapp? I så fall, hvordan kan jeg holde på den threaden til jeg trykker på knappen igjen? Takker for alle tips om dette lille programmet. Ja, det er et program for å slå av dataen til bestemt tidspunkt. Takk! Lenke til kommentar
GeirGrusom Skrevet 8. august 2009 Del Skrevet 8. august 2009 Er det ikke mer enn 23 timer i et døgn? Menneh anyways, ville det ikke vært mer fornuftig å hatt timeCheckerThread i TimeChecker klassen? Tråden avsluttes jo uansett når DoCheckTime returnerer, og jeg ser ikke poenget med den Join saken du har satt der. Men uansett, timeChecker faller ut av scope, hvis du ser en gang til på linje 67 ser du kanskje hva som er galt. Jeg anbefaler også regex til all tekstparsing, fremfor å sjekke om tidsformatet har 5 siffer etc. så kan du bare sjekke om det følger ett eller flere mønster. Enklere å vedlikeholde, mindre kode. Lenke til kommentar
niggerguy Skrevet 8. august 2009 Forfatter Del Skrevet 8. august 2009 Dette er mitt første c# app, har lekt litt med python. Men mye PHP før. Årsaken til at jeg ser på c# nå er pga. asp.net som jeg syntes ser mildt sagt genialt ut. Så klart med visual express web edition. Skal ta en titt på regxp i c# , takk for tipset . Også! Egentlig... så klarte jeg ikke finne noe løsning selv med svaret ditt. Aldri lage en applikasjon før, bare web ting. Når Activate_Click går, så starter tråden... men jeg mister jo objektet når den er ferdig... right? Så jeg må finne et sted å ha den hvor jeg kan hente den igjen? Og hvis det blir riktig, hvor kan jeg legge den? Takk skal du ha Lenke til kommentar
GeirGrusom Skrevet 8. august 2009 Del Skrevet 8. august 2009 Det objektet du lager på nytt på linje 67 vil falle ut av scope ved første } Grunnen er at du prøver å lage den som er definert i klassen som et nytt objekt, men på den linjen lager du en ny variabel (som overrider den som er definert i klassen) Så hvis du bytter linjje 67 fra CheckTime timeChecker = new CheckTime(hour, minute); til timeChecker = new CheckTime(hour, minute); Så burde du ikke få Object reference exception. Lenke til kommentar
niggerguy Skrevet 8. august 2009 Forfatter Del Skrevet 8. august 2009 (endret) Åhhhh! Så klart. Takk skal du ha! Veldig hyggelig av deg! Setter utrolig pris på det! EDIT: Ja, det funka nå! Kan se i task manageren også at threaden forsvinner! Det er også noe annet jeg lurer på. Hvorfor et så lite program bruker SÅÅ mange threads... bare 4 når jeg starter, og 5 når jeg aktiverer. og deaktiverer så ble det 4 igjne. Men, uansett. Hvorfor så mange? Endret 8. august 2009 av niggerguy Lenke til kommentar
GeirGrusom Skrevet 9. august 2009 Del Skrevet 9. august 2009 1. Unmanaged thread used to load/run/unload the CLR .2. Managed thread running Main() in a default domain. 3. Managed Finalizer thread. 4. Unmanaged Debugger thread (optional). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå