Inlägg

Inlägg som Blargmode har skrivit i forumet
Av Blargmode

Räknar man med datorer som inte används? Jag tycker bara datorer som är används regelbundet borde räknas. Annars blir det ju mest en tävling om vem som har störst garderob.

Av Blargmode

@ARAGON_GVD: Om du har lite koll på HTML och CSS så kan du det.
Det är bara att skapa en ny stilmall för sidan du vill påverka och skriva in css där.

Här är exempelkod som gör bakgrunden svart och texten vit, givet att det inte är ändrat på andra ställen.

body{ background-color:#000 !important; color:#FFF !important; }

Ett tips är dock att först klicka på Stylish-ikonen när du är på sidan du vill påverka, och välj "Find more styles for this site".
Många populära sidor har redan teman tillgängliga.

Om du ska skapa stilar själv (som inte är till Sweclockers) så rekommenderar jag dock att du inte utgår ifrån min, eftersom min är skräddarsydd för Sweclockers.

Av Blargmode

@ARAGON_GVD Jag tror du har missat att göra detta i Stylish:

http://i.imgur.com/NBuYs6P.png

Av Blargmode

@Doukin: Du får nog vara lite mer specifik än så. Vad är det som inte funkar? Fungerar ens Stylish?

Av Blargmode
Skrivet av m4gnify:

Något mörkt tema till VRGeeks planerat?

Hade inte tänkt det egentligen, men jag ägnade några minuter att slänga ihop ett. Det ligger ingen baktanke bakom det så som i Swec temat, och jag har inte rört Disqus-tjofräset, men det är bättre än inget antar jag.

http://blargmode.se/files/swec_dark_theme/vrgeeks_theme.png

*{ border-color:black !important; } .td-container-border:after{ background-color:black; } body{ background-color:#1c1c1c; } .td-header-header{ background-color:black !important; } h1, h2, h3, h3 a{ color:white !important; } p{ color:#ccd; } a{ color: #ddf !important; } a:hover{ text-decoration:underline !important; } .td-post-sharing, .td-post-author-name a, .td-excerpt, time{ color: #aab; } .td_module_14 .meta-info{ background-color:#5c5c5c; } .current_page_item a{ background-color: #27033c !important; } .sf-menu > li > a:hover, .sf-menu > .sfHover > a{ background-color: #a100e6 !important; }

Installera det precis som swec temat, fast lägg koden ovan i kodrutan istället för @import raden. Och sätt såklart "Applies to" till vrgeeks.se.

Av Blargmode

Är det någon som har lagt märke till att tråden ligger i Stationära datorer? Alla snackar om laptops.

Av Blargmode

Skitnajs! Gillar denna typen av byggen skarpt, särskilt nuförtiden när det är så lätt att bara hänga en NUC på baksidan av TVn. Hur tyst är den? Antar att som HTPC behöver den inte köra fläktarna på fullt yl?

Av Blargmode

Nuclear Throne är det enda jag har spelat på sistone och det är är rätt kul.

Av Blargmode
Skrivet av spicy_mama:

http://www.inet.se/kundvagn/visa/9098002/2016-01-30

Iom du hade ssd och hårddisk. Kan uppgradera så du får mer ram dock är inte processorn K märkt därav priset. här är inkluderat nät agg

Med K modell på cpu samt 116gb ram

http://www.inet.se/kundvagn/visa/9098017/2016-01-30

Om han inte behöver CD-läsare så hade jag valt Define S chassit istället. Mindre skit i vägen för ventilationen då.

Skrivet av felixarvid:

@spicy_mama: Allright men räcker det med 8bg ram eller ska man sattsa på 16?

Det finns spel idag som går över 8GB. Space engineers är ett av dem. 8GB räcker för det mesta men jag hade inte nöjt mig med det. Annars kan du ju köpa 8GB på en eller två stickor, och sen lägga till mer om det behövs.

Av Blargmode

Verkar heta lite olika på svenska sidor, här är en på webhallen http://www.webhallen.com/se-sv/datorkomponenter/164649-akasa_...

Av Blargmode

Nej det kan du inte. Dina gamla minnen är DDR2, och de nya är DDR4, lika så är moderkortet. Så de gamla är helt enkelt inte kompatibla.

Av Blargmode

Najs! Detta är precis vad jag hade tänkt att göra, men min 1080 radiator står fortfarande lutad mot en hylla. Ganska jobbigt att koppla isär den från datorn om man ska flytta på det hela.

Hur är balansen? Radiatorn är ju ganska tung, finns det risk att den tippar över?

Av Blargmode

Femman är kul för att den skiljer sig från normen med ett vinterlandskap i bakgrunden. Den är nog också den som funkar bäst med det mörka temat.

Av Blargmode

"Folk missbrukar tjänsten och lagrar upp till 75TB"
"Vi sänker de med 100GB tak till 50GB"

Uhm? Det lär väl ändå inte vara 100GB-prenumeranterna som lagrar 75TB? Det är uppenbart inte hela sanningen.

Av Blargmode

Jag scrollar alltid med piltangenterna på mitt K400. Här har de gjort dem pyttesmå. Frågan är om den nya formen gör det lättare att känna sig fram i mörkret eller om det bara blir pilligt.

Sen har ju K400 avskyvärda tangenter. Det svampigaste tangentbordet jag någonsin har haft oturen att knappa på. Hoppas Plus versionen gör något åt det.

Av Blargmode

Skaffa Tabs Outliner. Så har du kvar alla flikar där även om webbläsaren kraschar.

Se till att starta om datorn regelbundet med. Du kommer inte ens märka Chromes uppdateringar. Och du slipper krascherna med. Jag har 103 flikar just nu, blir ju lätt så kan man kodar grejer. Jag har även halvkassa minnen som gör att saker börjar krascha när datorn når upp i ~75% minnesanvändning. Jag har dock aldrig förlorat en flik. Jag förstår inte hur du lyckas.

Av Blargmode

@CyberVillain: Fick inte det att fungera med move, vet inte om det finns ens.


Men jag har löst* problemet!
*Löst som i att lyckas flytta filerna, inte att få dem fria i tid.

Jag vet inte om detta hjälper någon men jag kan ju lika gärna dela med mig av min lösning:

För att frigöra videofilen behöver man göra som jag gjorde från början:

myMediaElement.Stop(); myMediaElement.Close(); myMediaElement.Source = null;

Dock släpper inte det filen direkt, utan det gör den någon gång strax därpå.
Att kalla på Garbage collectorn hjälper inte här heller.
Notera också att om .Stop() och .Close() ska fungera, så måste mediaelementet ha LoadedBehavior="Manual".

Så nu fungerar det ibland, om man tar det lugnt.
Mitt nästa steg var att om en fil-flytt misslyckades, så stoppar jag dess sökväg och destination i vars en Queue<string>. Efter varje flytt körs detta:

//Loopa igenom kön lika många gånger som den är lång, utan att iterera direkt i kön. //Misslyckas en flytt så stoppas den tillbaka sist i kön men den försöker inte flytta den igen denna gången. for (int i = 0; i < failedMovesFrom.Count; i++) { moveFile(failedMovesFrom.Dequeue(), failedMovesTo.Dequeue()); //.Dequeue returnerar och tar bort första värdet i kön. }

Om första flytten misslyckas så stoppas bilden i misslyckade-flyttar-kön, som den försöker flytta igen varje gång man flyttar en annan bild.

tl;dr: Om flytten misslyckas för att filen är låst, kom ihåg det och försök igen senare.

Av Blargmode
Skrivet av Yoshman:

Sista posten i denna tråd verkar ha "löst" samma problem.

Min gissning här är att denna lösning mest bara gör att det fel du nu ser blir mindre sannolikt då man ökar tiden från där filen kan släppas till dess att den faktiskt släps. Det är dock inte helt omöjligt att detta faktiskt är något som slutgiltigen löser problemet, enda sättet att reda ut det helt är att reda ut exakt vad som anropas från att man sätter IsEnabled till false till dessa att följande sats körs. Under denna tid befinner man sig i komponenten så den har ju teoretiskt sett möjlighet att utföra "rätt sak" t.ex. efter att IsEnabledChanged returnerar och "upptäcker" att Source är null.

Om vi antar att sannolikheten att filen är låst signifikant minskar om man går omvägen via IsEnabledChanged eventet men att det inte är en korrekt lösning, vad kan det bero på? En hyfsat kvalificerad gissning är att man låter en dtor eller motsvarande (något internt kan ju även använda IDisposable, MediaElement verkar inte implementera detta). Så en väg runt detta problem att man nu inte kan räkna med att filen släps efter att Source sätts till null (att sätta Source till null verkar i alla fall vara ett krav för att detta ska ha någon chans att fungera).

Om mitt spekulerande är rätt så, utan att överhuvudtaget ha testat, borde detta vara en väg runt problemet som också undviker alla race-conditions:

mainVideo.Stop(); mainVideo.Clear(); mainVideo.Source = null; // Tvinga fram en GC av alla generationer System.GC.Collect(); // Nu finns ändå en del race, t.ex. kan GC redan köras på någon annan tråd // eller anropet ovan kanske lägger ut jobbet på en annan tråd. Måste då // se till att denna tråd väntar till GC kört klart System.GC.WaitForPendingFinalizers(); // om jag gissat rätt om problemet borde du kunna radera filen här

Tyvärr rättade inte din kod till felet. Jag försökte dock efterlikna "lösningen" i tråden du länkade genom att flytta själva flytten av filen. Nu sker flytten efter att lite annat har hänt. Detta löser problemet om man tar det lugnt. Men flyttar man större filer för nära inpå varandra så hinner den inte med.

Det känns som att jag kan behöva en annan approach till problemet. Detta är dock det första jag programmerar i C#, har läst Java innan. Så jag vet inte riktigt vad som finns att tillgå.

Jag tänker mig att man kanske kan skapa någon typ av kö som kör filöverföringen i en egen tråd, som man dessutom kan stoppa nya filer i under tiden den jobbar.

Jag testade nyss med Task.Factory.StartNew(() => moveFile()); med en Thread.sleep(1000) i för att ge garbage collectorn tid, vilket slutade i fullständigt fiasko. Hälften av filerna jag flyttade bytte namn med varandra...

Några idéer om hur det görs bäst? Om det ens är en bra idé d.v.s.

Skrivet av CyberVillain:

Verkar inte var den bäst skrivna klassen om man måste GCa hela Appdomänen för att filen ska släppas.

Du kan även implantera lite halvhackigt, pseudokod

public void Delete() { try { File.Delete(myFile); } catch(IOExecption e) //Jag bara antar att det blir ett IO ex här { Application.Current.Dispatcher.Invoke(Delete); } }

Den där koden är ganska lik min move-metod:

private void moveFile(string from, string to) { try { File.Move(from, to); // Try to move Properties.Settings.Default.ImagesMoved += 1; Properties.Settings.Default.Save(); } catch (IOException ex) { Debug.WriteLine(ex); // Print error } }

Men vad gör denna raden?
Application.Current.Dispatcher.Invoke(Delete);
Jag vill ju inte ta bort filen från disken, bara från minnet. Filen ska flyttas.

Av Blargmode

@CyberVillain: Jag har redan spenderat de tre senaste dagarna med att googlat på det, börjar tappa hoppet..

Men om jag förstår MVVM rätt, så har jag följt den approachen för bildfiler:

Uri uri = new Uri(filePaths[0]); BitmapImage image = new BitmapImage(); image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = uri; image.EndInit(); mainImage.Source = image;

Eller?
Hade gärna gjort lika dant för video med men jag har ingen aning om hur det skulle gå till.

Av Blargmode

C# WPF - Flytta videofiler som används av programmet

Hej, jag behöver kunna flytta en videofil som precis har visats i min applikation, men den går inte att flytta eftersom den används av programmet.

System.IO.IOException: The process cannot access the file because it is being used by another process.

Videofilen ligger i ett MediaElement:

<MediaElement x:Name="mainVideo" Stretch="None" VerticalAlignment="Center" HorizontalAlignment="Center" MediaEnded="mainVideo_MediaEnded" LoadedBehavior="Manual" />

Och jag väljer source via koden bakom:

Uri uri = new Uri(filePaths[0]); mainVideo.Source = uri; mainVideo.Play();

Problemet är att jag inte lyckas får applikationen att släppa låset på filen eftersom den används.

Av googlande har jag kommit fram till att det är något sånt här jag ska göra:

mainVideo.Stop(); mainVideo.Close(); mainVideo.Source = null;

Men det hjälper inte. Felet återstår.

Några idéer?