pondělí 4. července 2011

Visual Studio 2010: "The process cannot access the file because it is being used by another process." (1. část)


Pokud se vám tato hláška objeví pokaždé, když chcete provést build aplikace, a jste si jistí, že dané soubory nemá co blokovat, zde je několik možných řešení:
  • U problémového projektu zrušit Read-Only přepínač ve vlastnostech bin adresáře.
  • V různých internetových diskusích uživatelé psali, že tento problém způsobovaly antivirové programy (Kaspersky, McAfee). Nedoporučuji to řešit tak, že by se antivirus na buildování vypínal. Zkuste přidat assembly do "trusted area". U antiviru Avast tento problém prý není.
  • Pokud pracujete se soubory, je možné, že například pomocí FileReaderu soubor uzamčete a soubor není z nějakého důvodu později uvolněn (neošetřená výjimka, zapomenutí zavolání Close() metody).
  • Otestovat počítač proti malware, zda nějaký "virus" neblokuje soubor. Nejméně pravděpodobná příčina, ale pokud předchozí nepomohou, stojí to alespoň za pokus.

pondělí 27. června 2011

Název aktuální metody a volající metody

Pokud potřebujeme vrátit název aktuální metody (např. pro účely logování), můžeme použít tento kód:
private static string VratNazevAktualniMetody()
{
string nazevMetody = System.Reflection.MethodBase.GetCurrentMethod().Name;
return methodName;
}

středa 22. června 2011

Iterace přes hodnoty enumu (pomocí foreach)

Po dlouhé době jsem opět potřeboval projít v cyklu všechny hodnoty enumu a na základě hodnoty provést akci. Vzpomněl jsem si, že jsem tuto konstrukci psal kdysi na dotnetforum.cz.

Řešení jsem tehdy našel na MSDN fóru:

enum enmOvoce
{
jablko,
hruska,
jahoda
}

Type typEnumu = typeof(enmOvoce);
foreach(var polozkaEnumu in Enum.GetValues(typEnumu))
{
// delej neco
}
Nevýhodou je, že polozkaEnumu je object, takže musíme provést unboxing.

pátek 17. června 2011

typeof vs GetType

Jaký je rozdíl mezi použitím typeof a object.GetType()?
Rychlé shrnutí toho, co můžete najít na internetových diskusích.

úterý 14. června 2011

Syntax Highlighter - zvýrazňovač syntaxe

Konečně jsem našel výborný zvýrazňovač syntaxe, který se dá lehce integrovat do blogu tady na Blogger.com. Jedná se o zvýrazňovač SyntaxHighlighter od Alexe Gorbatcheva (v době psaní článku ve verzi 3.0.83). Podporuje velké množství jazyků a pokud byste nenašli zrovna ten Váš, můžete si jednoduše dopsat jeho podporu, protože zdrojové kódy jsou volně k dispozici. Nebo se můžete porozhlédnout po internetu, jestli některý uživatel nenapsal potřebnou podporu.

čtvrtek 2. června 2011

Volání metody z GUI vlákna nebo worker vlákna

Pokud programujete aplikaci s GUI, která provádí nějaké dlouhé výpočty, pravděpodobně dřív nebo později použijete pracující vlákno na dlouhý výpočet, zatímco hlavní vlákno bude schopno stále reagovat na uživatelovu interakci.

úterý 22. března 2011

Věda: Morgellonová nemoc - Morgellons

Článek se připravuje.

Pokud máte jakékoliv informace či zkušenosti s tímto fenoménem (ať už osobní, z rodiny, z práce), kontaktujte mě přes komentáře. Poskytnu Vám email, popřípadě jiný informační kanál.

pondělí 21. března 2011

Aplikace: Impresys DemoMate

Před několika dny se mi do ruky dostala aplikace od společnosti Impresys názvem DemoMate (verze 1.3.1111). Jedná se o aplikaci pro vytváření názorných click-by-click návodů jak ovládat nějaký program, jak v určitém programu provést určitý úkol apod.

úterý 8. března 2011

Prezentace: Windows Federated Search

Přináším další prezentaci, tentokrát na téma Federated Search.