Chyba każdy, kto pisał kiedykolwiek aplikacje wielowątkowe, które swoje wyniki prezentowały na kontrolkach WinForms spotkał się z następującym wyjątkiem: System.InvalidOperationException occurred, Message="Cross-thread operation not valid: Control 'MainForm' accessed from a thread other than the thread it was created on.", Source="System.Windows.Forms" Powyższy wyjątek pojawia się, gdy chcemy zmodyfikować zawartość kontrolki z innego wątku, niż ona została wytworzona. W prostszych słowach można powiedz...
Strona głównaUżytkownik
macko | użytkownik
Kolejny odcinek o Reflectorze i MVC, tym razem opowieść spod znaku "przecież to NIE MOŻE nie działać!". Oczywiście bezlitosna rzeczywistość twierdziła inaczej i jak zwykle w takich wypadkach bywa – to ona była górą. Zobaczmy cóż takiego się stało... Jak zwykle dla uproszczenia stworzę bezsensowny projekcik specjalnie pod ten scenariusz, aby każdy mógł w prosty sposób odtworzyć cały proces. Praktyki stosowane podczas implementacji wcale nie muszą być godne naśladowan...
Chyba każdy kto próbował tworzyć "programistycznie" dokumenty docx (z wykorzystaniem OpenXML Format SDK lub bez SDK) na pewno spotkał się z problemem, że nie wiadomo jakich elementów użyć i jak je poustawiać, by uzyskać oczekiwany efekt. Niestety w dokumentacji opisane są co oznaczają poszczególne elementy, ale brakuje przykładów lub dokładniejszych opisów ich wykorzystania. Na szczęście jest pewna pomoc, którą można wykorzystać. Przypomnijmy sobie jak zbudowany jest oparty o format Open XML? ...
“Reference in the manifest does not match the identity of the downloaded assembly MójProgram.exe.” no i klops. Zaczynając jednak od początku, projekt nad którym pracuję obecnie to solution z blisko 30-toma projektami, część w C# a część w VB.NET. Po podniesieniu VS2005 do VS2008 okazało się, że nie można opublikować nowej wersji za pomocą ClickOnce (używając programu MageUI). Jedyna rzecz, która się zmieniła to struktura plików sln i proj ponieważ Framework został bez zmiany (2.0) zatem gdzie leży proble...
Kiedy piszemy aplikację będącą już w na tyle zaawansowanym stadium, że nie objawia ona błędów przy pierwszym lepszym uruchomieniu, to zdarza się, iż uruchamiamy ją bez wsparcia debugera (co można zrobić standardowym skrótem klawiszowym Ctrl+F5 w Visual Studio). Mimo tego zawsze może się jednak zdarzyć jakiś nieprzewidziany wyjątek, błąd czy inna nieprawidłowość. Ba, może się tak zdarzyć w programie, który już dawno uznaliśmy za skończony...
W zasadzie konkurs "Na najlepszy .... projekt", na portalu SourceForge.net trwa już od jakiegoś czasu, ale dzisiaj kolejna wersja Żółwika :) (TortoiseSVN) przypomniała mi o nim. Chyba wielu z nas korzysta z repozytoium Subversion (SVN) i klienta na platformę Windows: TortoiseSVN.Chyba warto docenić wysiłek autorów TortoiseSVN i zagłosować na to narzędzie w kategoriach "Najlepszy projekt" i "Najlepsze narzędzie dla programistów". Głosujmy więc!!
Dziś zajmę się dość powszechnym wydaje się problemem, a mianowicie tworzeniem dokumentacji dla oprogramowania. Zwykle owa dokumentacja powstaje dopiero pod koniec tworzenia oprogramowania, nie ma na nią za wiele czasu i oczywiście "chcemy to zrobić tak, by się nie narobić" :). W takim momencie chyba każdemu przychodzi na myśl wykorzystanie jakiegoś edytora (np. Microsoft Word lub OpenOffice Writer). Dlaczego? Bo łatwo i wiele osób wie jak Word'a obsługiwać, jak sformatować tekst, je...
Jak w większości systemów budowanych w oparciu o DDD, tak i w naszym natrafiliśmy w końcu na problem poprawności obiektów modelu domeny. Na samym początku ograniczyłem się do przekazania programistom informacji, że dobry obiekt modelu powinien być zawsze poprawny. Pomyślałem, że jest to dobre pierwsze przybliżenie. Szczegółami zajmiemy się później. Szczegóły te miały, według moich przewidywań, dotyczyć walidacji zależnej od kontekstu, która sprawia, że Jeffrey Palermo nie wierzy w zasadę "always valid"....
Architektura 5652 dni, 20 godzin, 55 minut temu 63 źrodło rozwiń
„Jeśli jesteś bywalcem strony http://dotnetomaniak.pl od jakiegoś czasu, to zapewne zauważyłeś, że niedawno zmieniły się kategorie na stronie.” Paweł Łukasik, założyciel serwisu dotnetomaniak.pl, pisze o zmianach, jakie zostały wprowadzone na stronie w ostatnim czasie i snuje plany na najbliższą przyszłość. Wszelkie pomysły i opinie mile widziane!
Bartłomiej Szafko: O tym, że można wykryć czy .NET albo dowolny inny pakiet jest zainstalowany pisałem w jednym z poprzednich wpisów. Pisałem również, że z poziomu MSI nie można odpalać instalacji innych pakietów. Dzisiaj pokaże jak szybko stworzyć bootstrappera do plików MSI. W tym celu będę używał bootstrappera znanego z ClickOnce. Pierwszym krokiem jest wyedytowanie pliku .wixproj i ...
Na stronie Visual Studio 2010 and .NET Framework 4 Training Kit - May Preview znajduje się bardzo ciekawy zestaw treningowy do Visual Studio 2010 Beta 1...
Wzorzec memento pozwala na przechwycenie stanu obiektu i zachowanie go gdzieś na zewnątrz tego obiektu, dzięki czemu może być on później odtworzony....
Architektura 5656 dni, 6 godzin, 38 minut temu 220 źrodło rozwiń
Jak możecie dokładniej przeczytać na blogu teamu ADO.Net szykuje się istotna zmiana w tym komponencie od wersji .NET Framework 4.0. W skrócie w ADO.Net 4.0 OracleClient zostanie zaznaczony jako deprecated...
Bazy danych i XML 5656 dni, 6 godzin, 38 minut temu 61 źrodło rozwiń
Stawiając pierwsze kroki w programowaniu w C#/.NET, można odkryć kilka ciekawych właściwości, które nie zawsze występują w innych językach. Jednym z nich jest całkiem dobre rozwiązanie odwiecznego problemu w kodowaniu, czyli zamiany między różnymi typami danych: zwłaszcza do i z łańcucha znaków. Przykładem jest chociażby metoda ToString, która zrobi nam napis z dowolnego obiektu. Są też metody w stylu int.Parse, które potrafią odczytać liczbę zapisaną jako tekst i w zgrabny sposób rozwiązują jeden z na...
[PL] Wprowadzenie do F# – podstawowe elementy składni W nowym Visual Studio 2010 widoczne są projekty w nowym języku programowania F#. Jeśli nie mieliście okazji się nim pobawić to polecam rozpocząć naukę jeszcze nie od samego Visual Studio, lecz od interpretera dołączonego do VS2010. Aby go uruchomić należy wybrać z Menu Start Visual Studio 2010 Command Prompt i w konsoli wpisać polecenie fsi.exe: Wynik powinien być następujący: Setting environment for using Microsoft Visual Studio 2010 ...
Strongly-typed DisplayValue i DisplayMember / DataValueField i DataTextField Ileż to razy zmuszeni jesteśmy pisać kod temu podobny: list.ValueMember = "Id"; list.DisplayMember = "Name"; Na CodeGuru niejednokrotnie pytano o jakiś sposób na rozwiązanie tego problemu. Podawanie stringów jest ZŁE, niewygodne i bardzo podatne na błędy wszelakie. Zmiana nazwy właściwości rozwala UI, refactoring bez dodatkowych narzędzi jak Resharper potrafi napsuć sporo krwi (a i z pomocą R# wcale przyjemny nie jest...
Architektura 5659 dni, 18 godzin temu 45 źrodło rozwiń
IProgrammableKawalerowicz Consulting NewsBlogKawalerowicz ConsultingClickOnce i Continuous IntegrationDecember 8, 2007 on 5:24 pm | In Continuous Integration, DotNet | Od wielu lat współpracowałem z wydawnictwem Software.Mój pierwszy artykuł opublikowałem gdzieś około 2003 roku. Publikowałem w Software 2.0, i w Software Developers Journal. Pisałem artykuły do PHP Solutions i dodatków Extra. Współpraca układała się całkiem dobrze i wszystko trwałoby pewnie jeszcze latami gdyby nie to jedno „ale”.Za mój ...
Jakiś czas temu Gutek opublikował posta z poradami dotyczącymi pisania CV. Teraz będą refleksje na temat rozmów kwalifikacyjnych na stanowisko programisty. Przedstawione tu porady mogą komuś pomóc, ale jednocześnie nie należy ich traktować jak biblijnych wytycznych. Po prostu "mi tak się wydaje", i tyle. Mam jednocześnie nadzieję, że jak zwykle w takich sytuacjach pod postami pojawią się komentarze prezentujące doświadczenia i wskazówki innych osób, podnosząc wartość owych wypocin.
Powodem, że zdecydowałem się wspomnieć o Dependency Injection była po prostu myśl, która pojawiła się po C2C a mianowicie metakontener . Pokaże kiedy można zastosować zależności wstrzykiwań w bardzo prosty scenariusz zawsze wydaje się przekazaniu w "Dlaczego miałbym to robić w ten sposób?" Zaczynamy pewien rodzaj dyskusji . Będzie to pewien sposób myśli , które umieszczę w scenariuszu na tyle złożonym, aby pokazać korzyści płynące z Dependency Injection, ale wystarczająco prosty, aby wciąż była zrozumiał...