Podczas używania MediaElement i testowaniu aplikacji na urządzeniu sporadycznie możemy dostać błąd AGENETWORK_ERROR na evencie MediaFailed.
Mobile development 4861 dni, 6 godzin, 9 minut temu 21 źrodło rozwiń
Od razu zaznaczam, że nie dotyczy ten wpis lokalizowania aplikacji jako takich bo te informacje można znaleźć tu. Ale dotyczy on nowych zasad app hub’a które ostatnio wprowadził Microsoft przy wrzucaniu aplikacji.
Mobile development 4861 dni, 6 godzin, 9 minut temu 30 źrodło rozwiń
"Reużywalność" w PowerShell'u Pisząc skrypt w PowerShell'u postanowiłem wywołać metodę z zewnętrznej biblioteki wchodzącej w skład rozwijanego przez mój zespól systemu. Zaimportowałem dll'kę za pomocą metody Assembly.LoadFrom , utworzyłem instancję typu danych i uruchomiłem metodę. Oczywiście otrzymałem wyjątek NullReferenceException, który wskazywał na to, że problem pojawił się w metodzie z zewnętrzenej biblioteki. Zastanowiłem się chwilę i stwierdziłem, że nie zaszkodziłoby zdebuggować tej metody. K...
autor: Wożę się z tym tematem od nie wiem już kiedy i niejednokrotnie pisałem, że coś takiego zamierzam. Teraz akurat nadszedł taki okres, że mam czas na trochę więcej pisania, więc się mobilizuję i rozpoczynam wreszcie swój blogowy minicykl o testach (głównie jednostkowych) na platformę .NET. O testach napisałem już sporo notek... pora na więcej:). Od wielu miesięcy spisywałem kluczowe pojęcia i myśli, jakie mnie nachodziły podczas programowania i testowania. Kilka tygodni temu zebrałem to wszystko w k...
autor: Sądzę, że każdy programista .NET spotkał się z powyższym błędem kompilacji. Nie jest to nic wyjątkowego i rozwiązanie problemu jest bardzo łatwe, wystarczy dodać do projektu referencję do brakującej biblioteki. Czy oby na pewno? Kilka dni temu napotkałem powyższym błąd kompilatora i rozwiązanie problemu zajęło mi sporo więcej czasu niż normalne kilkanaś...
Chyba każdy programista w trakcie swojego życia zbiera jakieś przydatne kawałki kodu. Niektórzy tworzą z nich drobne biblioteki, inni całe frameworki. To czy jest to praktyka zła, czy dobra nie jest tematem tej rozprawki. Wszystkim nam gdzieś tam jednak przyświeca idea DRY (Do not Repeat Yourself). Jak ją sobie zrealizujemy, to już zależy od nas. Przynajmniej w naszych prywatnych projektach. Z owymi „przydasiami” wiąże się pewien problem. Gdy już stworzymy sobie szereg bibliotek, chcielibyśmy je wykorzys...
Podczas działania naszej aplikacji (a będącej jeszcze w fazie dewelopmentu) często zachodzi potrzeba na wyświetlanie dodatkowych informacji. Przykładowo wyświetlamy różnego rodzaju identyfikatory czy kody wczytanych danych aby śledzić czy edytowany rekord jest tym rekordem, o który nam chodzi...
Silverlight 4896 dni, 22 godziny, 6 minut temu 98 źrodło rozwiń
Zawsze podczas pisania aplikacji okienkowej lub konsolowej używałem metody Environment.Exit() do zakończenia jej działania. Normalka. Natknąłem się jednak na alternatywne rozwiązanie dedykowane dla "sytuacji wyjątkowych". Gdy program znajdzie się w stanie, w którym NIC mu już nie pomoże, to lepszym wyjściem może okazać się zatrzymanie go poprzez wywołanie Environment.FailFast(). Nie dość, że omijamy wówczas wszystkie try/catch oraz finalizery, to jeszcze w eventlogu automatycznie tworzy się wiadomość o ...
W poprzednim poście opisałem nowość w Silverlight 5 – XAML bindings debugging, czyli debugowanie bindingów prosto w XAML’u. Programiści już się cieszą i czekają od kwietnia na wersję RTM, a wtedy zmigrują swoje projekty do nowej wersji.Wcale nie trzeba czekać Ale okazuje się, że nie trzeba czekać. Już dzisiaj można debugować bindingi w „starych” projektach Silverlight 4!
Silverlight 4912 dni, 3 godziny, 58 minut temu 59 źrodło rozwiń
Na konferencji Silverlight Firestarter (2 grudnia 2010) ogłoszono, że nadchodzi Silverlight 5, a cztery miesiące później, na konferencji MIX 11, ogłoszono publiczną wersję Silverlight 5 Beta. Jednym z wyczekiwanych ficzerów jest debugowanie bindingów w XAML‘u. To bardzo przydatny wynalazek.
Silverlight 4912 dni, 3 godziny, 58 minut temu 53 źrodło rozwiń
Jeśli jesteś za serwerem proxy to możliwe, że Twój Visual Studio 2010 Extension Manager nie może się połączyć z Online Gallery. Nie można się połączyć z Online Gallery Ten problem można prosto rozwiązać. Na bloguMe So Sorry znajduje się opis rozwiązania (wielkie dzięki Andrzej!). Autor podaje, że wystarczy poddać edycji plik konfiguracji Visual Studio (\Program Files (x86)\M...
W ramach kontynuacji tematu rozpoczętego we wpisie „70-511: Enhancing Usability: Implementacja „Globalizacji” i „Lokalizacji” (teoria)”, zapraszam do zapoznania się z przykładem kodu źródłowego, który będzie ilustracją do przedstawionej teorii (przykład kodu źródłowego dotyczy implementacji „globalizacji” i „lokalizacji”, ze szczególnym naciskiem na to, jak jest to rozwiązane w lokalizacji dla WPF). W ramach przykładu zostanie pokazane wykorzystanie narzędzia LocBaml. W przykładzie tym lokalizowane jest ...
Podwójnie wywołane zdarzenie w Windows Phone 7 Bawiąc się trochę z Windows Phone natrafiłem na problem, który był dość często zgłaszany w przypadku kontrolki TextBox. Błąd jest śmieszny - w emulatorze zdarzenie jest wywoływane dwukrotnie. Błąd ten w moim projekcie pojawił się w przypadku kontrolki TextBlock i obsługi kliknięcia. W projekcie potrzebowałem zrobić kontrolkę, która będzie zawierała CheckBox oraz dwa pola tekstowe – TextBlock. Każde kliknięcie na TextBlock miało zmieniać stan kontrolki...
Mobile development 4940 dni, 4 godziny, 10 minut temu 42 źrodło rozwiń
Autor: Ostatnio, przez ponad pół roku, wraz z Wojtkiem Poniatowskim, Mirkiem Pragłowskim, Tomkiem Wiśniewskim prowadziliśmy kurs C# na portalu VirtualStudy. Kurs przeznaczony był dla osób początkujących ale dzięki temu miałem możliwość zobaczenia jakie elementy .NET i C# sprawiają najwięcej trudności osobom, które dopiero zaczynają swoją przygodę z tą technologią. Jeśli masz choć trochę doświadczenia z .NET to zapewne nie znajdziesz tu zbyt wielu przydatnych informacji. Tak czy inaczej zapraszam do czyta...
Nasiedziałem się nad pewnym problemem zdecydowanie dłużej niż siedzieć się nad nim powinno. W pisanym systemie Callcenter podpinam się do FreeSWITCHa socketem TCP coby w tenże sposób kontrolować jego zachowanie. Jak się można domyślić - stan połączenia między serwerem a centralką telefoniczną jest dla aplikacji callcenter dość kluczowy. Okazało się jednak, że standardowa logika wykrywania błędów połączenia (tzn. po prostu łapanie wyjątków występujących podczas komunikacji i odpowiednia na to zdarzenie r...
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>). to paskudny błąd, który generowany jest przez klasę System.Web.UI.ControlCollection. Ma to miejsce przy próbie modyfikacji kolekcji, na przykład przez wywołanie Add(Control control), w przypadku kiedy kontrolki w niej zawarte korzystają z wyrażeń postaci <% ... %> lub <%= ... %>. Istnieje kilka sposób ominięcia tego problemu: Kod zawierający wyrażenia <% ... %> lub <%= ... %> umieścić w ...
Czasem przeglądając kod .NET Framework, czy to bezpośrednio w Visual Studio, czy też za pomocą Reflectora (ponownie darmowego ;)), ILSpy, tudzież innych narzędzi do dezasemblacji kodu natrafiamy na kawałek kodu opatrzony atrybutem MethodImpl, np. (dla przykładu System.Object): [MethodImpl(MethodImplOptions.InternalCall)] internalstaticexternint InternalGetHashCode(object obj); I na tym przeglądanie kodu się kończy, a przecież tyle ciekawych rzeczy jest jeszcze do rozpoznania! Lecz gdzie tego szukać?! Zg...
W poprzedniej notce pisałem o implementacji lock’a i do zilustrowania pewnych szczegółów użyłem metody GetHashCode analizowanego obiektu. Tym razem przyjrzymy się bliżej samej metodzie GetHashCode, dziedziczonej przez wszystkie klasy z bazowej klasy Object i często traktowanej po macoszemu, lub też bez właściwego zrozumienia. Niestety potrafi się to zemścić, a w jaki sposób, to spróbuję za chwilę zademonstrować, po czym postaram się podać kilka rad co z tym fantem począć. O tym, że metoda GetHashCode jes...
Pod ostatnim wpisem “Jak udostępnić folder w .NET” pojawił się komentarz użytkownika zine, który wspomniał, iż folder można udostępnić także przez NetShare API. NetShare API definiuje kilka metod dzięki którym możemy operować na udziałach. Są to: NetShareAdd, NetShareDel, NetShareEnum. W powyższym linku są jeszcze opisane inne metody z API, ale w tym wpisie skupimy się na tych [DllImport("Netapi32.dll")] privatestaticexternuint NetShareAdd( [MarshalAs(UnmanagedType.LPWStr)] string strServer, In...
Dziś mam dobrą wiadomość. Wczoraj firma Red Gate ogłosiła, że wycofuje się częściowo z pobierania opłaty za program .NET Reflector. Częściowość oznacza, że dotychczasowi użytkownicy będą mogli pobrać i zainstalować wersję 6.8 do której otrzymają wieczystą licencję. Wersja ta zostanie wypuszczona na początku maja i będzie to ostania darmowa wersja. Od wersji 7 program będzie całkowicie komercyjny, gdzie podstawowa licencja kosztuje obecnie 35$.