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...
Treść tego wpisu mógłbym zawrzeć w jednej sentencji: “nie używaj DrawString” i zasadniczo mógłbym zakończyć, ale postaram się udowodnić dlaczego...
Mobile development 5647 dni, 2 godziny, 47 minut temu 80 źrodło rozwiń
Artykuł opisuje zagadnienia związane z równoczesnym dostępem do wspólnych elementów przez wiele wątków oraz możliwe konflikty - w języku C#. Nie znajdziecie tu natomiast podstaw wielowątkowości w C#, zakładam iż te są już znane. Przykłady napisane jako proste aplikacje konsolowe – krótkie i zwięzłe bez nadmiaru niepotrzebnych informacji (jednak na tyle samodzielne, że można je bez problemu odpalić przez zwykłe skopiowanie).
Programowanie rozproszone 5650 dni, 19 godzin, 35 minut temu 149 źrodło rozwiń
Chciałbym przybliżyć Wam dwa interfejsy związane z AJAX-em i ASP.NET a mianowicie IPostBackEventHandler oraz ICallbackEventHandler. W skrócie opiszę do czego możemy je wykorzystać i w jaki sposób.
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 5653 dni, 6 godzin, 3 minuty temu 220 ź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...
Długo się zanosiłem z wrapperem na RIL-a i zawsze mi brakowało czasu, ale może od początku… Dla niezorientowanych Radio Interface Layer jest warstwą łączącą hardware telefonu z oprogramowaniem. Pisząc hardware mam na myśli część telefonu Windows Mobile odpowiedzialną za wykonywanie połączeń i transfer danych do stacji komórkowych (Radio). Z punktu widzenia programisty nic poniżej RIL-a już nie ma poza samym sprzętem. Więcej o samym systemie można poczytać na http://msdn.microsoft.com/en-us/library/aa920...
Mobile development 5660 dni, 6 godzin, 47 minut temu 64 źrodło rozwiń
Przeglądając dzisiaj fora internetowa, dotyczące platformy .NET, w odpowiedzi na jedno z zadanych pytań znalazłem wzmiankę o bardzo użytecznym narzędziu WMI Code Creator v1.0. Narzędzie to pozwala na wygenerowanie kodu używającego WMI (ang. Windows Management Instrumentation) do wykonywania różnego rodzaju zadań zarządzania: odczytywanie danych, oczekiwanie na zdarzenia WMI czy wywoływanie metod z klas WMI.
Ciekawy i (być może) przydatny gadżet pozwalający wzbogacić przeglądarkę IE8 w możliwość konwersji kodu z C# do VB.NET bezpośrednio na stronie.
Aplikacje typu REPL (Read, Execute, Print, Loop) są wykorzystywane w celu udostępnienia szybkiego środowiska uruchomieniowego dla kodu pisanego w języku X. Przykładami takich „konsol” jest chociażby konsola F# interactive, czy także konsole IPY i RP udostępnione przez IronPython i IronRuby. W aplikacjach typu REPL chodzi o to, że input wprowadzony przez użytkownika (READ) jest od razu przetwarzany i wykonywany (EXECUTE) zwracając wynik użytkownikowi (PRINT) dając mu możliwość wprowadzenia następnego ...
Architektura 5683 dni, 18 godzin, 58 minut temu 29 źrodło rozwiń
Przegląd dostępnych metod rysowania grafik w .NET CF i OpenNETCF, testy wydajnościowe oraz krótkie podsumowanie.
Mobile development 5686 dni, 32 minuty temu 68 źrodło rozwiń
Każdy, kto liznął chociażby programowanie stron internetowych (nawet w czystym HTML'u) spotkał się z możliwością prostego wysyłania maili poprzez podanie adresu jako mailto:adresemail@napewnymserwerze, czy można osiągnąć coś podobnego z poziomu aplikacji napisanej przy pomocy C#? Oczywiście! Wystarczy wykorzystać możliwości shella systemu operacyjnego windows i uruchomić proces (przy pomocy System.Diagnostics.Process.Start), który jako nazwę będzie miał dpowiednio skonstruowany ciąg "mailto:", czyli:m...
Artykuł omawia w jaki sposób można stworzyć własnego TraceListener’a.
W C# obiekty zwykle dostępne są poprzez referencje. Zatem zmienna typu T (jeśli jest on klasą) nie zawiera samego obiektu T, lecz tylko odwołanie do niego. Porównując dwie takie zmienne przy pomocy operatora == domyślnie sprawdzamy więc, czy pokazują one na ten sam obiekt. Podobnie jest też przy użyciu domyślnej wersji metody System.Object.Equals; robi ona dokładnie to samo, co wspomniany operator. Można mądrze powiedzieć, że oba mechanizmy sprawdzają relację identyczności obiektów.
Dawid Pośliński: "Wiele osób preferuję jako początek nauki, sięganie po książki - ja również należę do tej grupy, ale o ile książki mogą pomóc w poznaniu podstawowych zagadnień, to rozwiązywanie praktyczny problemów, niejednokrotnie wiąże się ze znalezieniem nietypowych rozwiązań, których próżno szukać w książkach. W dodatku, dodatkowe źródło wiedzy, szczególnie darmowe, może jedynie pozytywnie wpłynąć na nasze umiejętności. W tym poście, chciałbym zebrać kilka godnych uwagi miejsc, które przydadzą...
Bartosz Miłosierny: Ostatnio przy implementacji aplikacji dla platformy Mediaroom, napotkałem na problem ustalania podzbioru pewnego danego zbioru napisów, który to podzbiór miałby zawierać wszystkie stringi rozpoczynające się ustalonym prefiksem. Jak nietrudno się domyśleć, procedura potrzebna mi była do implementacji listy podpowiedzi - użytkownik rozpoczyna wprowadzanie tekstu, ...
Architektura 5697 dni, 6 godzin, 17 minut temu 199 źrodło rozwiń
Na stronach aspx dane zazwyczaj są wysyłane do tej samej strony. Gdy potrzeba przesłać dane z formularza do innej strony należy zastosować cross-page posting.
Na pytanie zadane w tytule chyba najłatwiej byłoby odpowiedzieć: Tyle, ile ktoś jest w stanie za nie zapłacić. Jest to jednak odpowiedź jak w dowcipie z matematykiem...(przeczytaj aby się przekonać)...Dodatkowo na końcu artykułu przepis jak policzyć ilość linii kodu w C# przy pomocy kodu C#.
Jakub Gutkowski: Ostatnio bawię się odpytywaniem Active Directory o użytkowników, grupy i jednostki organizacyjne i natrafiłem na kilka dość ciekawych przypadków kiedy to znaki specjalne nie są zamieniane, albo zamienione nie działają poprawnie :) co jest trochę… dziwne ale tak bywa :) Ogólny problem ze znakami specjalnymi w AD jest taki, iż w niektórych przypadkach można zastosować backslash \ w celu określenia, że kolejny znak po nim ma być traktowany tak jak został zapisany a nie ...
W Powershell 2.0 mamy możliwość zdalnego wykonywania poleceń. Powershell domyślnie też umożliwia odwołania z kodu C# do comandletów Powershellowych. Jednak połączenie remotingu Powershella oraz C# nie jest prostym zadaniem – brakuje po prostu przykładów. Nawet google jest w tym wypadku bezradny. Po wnikliwej lekturze SDK do Powershell-a, możemy znaleźć klasę RunspaceConnectionInfo, ale niestety ta klasa ma prywatny konstruktor. Na szczęście jest klasa WSManConnection Info.
Programowanie rozproszone 5705 dni, 16 godzin, 31 minut temu 103 źrodło rozwiń