Od początku pracy nad DesktopInfo wiadome było, że będzie potrzebny mechanizm do ładowania pluginów, dodatkowych modułów, które rozszerzą możliwości aplikacji bez potrzeby jej rekompilacji. Pierwszy pomysł jaki przechodzi do głowy to refleksja. Jednak jakiś czas temu postała biblioteka MEF, która została włączona do .NET Framework 4.0 Ponieważ aplikacja DesktopInfo wykorzystuje właśnie tą wersję .NET, to dlaczego nie wykorzystać nowej funkcjonalności. Zatem zobaczmy krok po kroku co jest potrzebne aby ...
Strona głównaUżytkownik
macko | użytkownik
Architektura 5139 dni, 11 godzin, 15 minut temu 160 źrodło rozwiń
Wchodząc na stronę http://desktopinfo.codeplex.com/WorkItem/AdvancedList.aspx znajdziesz listę rzeczy i/lub błędów które zostały zapisane w ramach pracy nad projektem DesktopInfo. Pozwala to na wygodne administrowanie projektem. Możemy robić listę błędów oraz nowej funkcjonalności. Lista ta dostępna jest także w Visual Studio Wszystko to dzięki Team Explore-owi oraz TFS-owi. Mamy funkcjonalność, która pozwoli nam łatwiej zarządzać projektem w przypadku pracy wieloosobowej. Prawdziwa magia zaczyna ...
Tytuł tego posta może być lekkim zeskoczeniem. Od premiery VS 2010 sporo czasu już minęło. Postanowiłem jednak spisać kilka nowości jakie udostępnia ono pod kątem debugowania. Zadanie jest o tyle trudne, że prawie wszystko co było do powiedzenia w tym temacie zostało już powiedziane przez pracowników MS w postach takich jak ten napisany przez ScottaGu. Postaram się jednak przedstawić temat z nowej perspektywy.Dump
Productivity Power Tools jest dodatkiem do Visual Studio, który znacząco rozbudowuje jego możliwości. Poniżej wymieniłem kilka zmian jakie wprowadzana narzędzie:dostęp do nowego okienka „Add Reference”. Wygląda ono tak: Co w nim takiego fajnego? Zaznaczanie dodanych już Assemblies zielonym ptaszkiem, możliwość wyszukiwania po nazwie, większe możliwości sortowania. Dodać należy również, że okno nie odświeża listy za każdym jego...
Autor: Znalazłem ostatnio świetną bibliotekę ułatwiającą tworzenie aplikacji w WPF na urządzenia wielodotykowe – Surface Toolkit for Windows Touch. Jest to zbiór kontrolek znanych z Microsoft Surface przystosowanychdo korzystania z Windows Touch (Surface korzysta z Visty jako systemu operacyjnego, WM_TOUCH pojawił się dopiero w Windows 7). W skład tej biblioteki wchodzą:LibraryBar – kontener wyświetlaj...
Autor: Podczas ostatnich prac z WPF'em napotykałem na strasznie irytujące sytuacje kiedy po uruchomieniu aplikacji wraz z debuggerem otrzymywałem nic nie mówiące mi komunikaty. Dla przykładu: An unhandled exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll Additional information: 'Add value to collection of type 'System.Windows.Controls.UIElementCollection' threw an exception.' Line number '6' and line position '10'.
Postawione w tytule posta pytanie jest jak najbardziej na miejscu. Już teraz mogę zdradzić tajemnicę, że nigdy tablicy nie udostępniamy w postaci właściwości. Na początek chciałbym krótko zarysować problem. W czasie tworzenia kodu okazało się, że bardzo ułatwi mi zachowanie go czytelnym utworzenie klasy przechowującej tablice stworzonych przeze mnie obiektów. Wygląda to następująco: public part...
W poprzednim poście przedstawiłem krótko narzędzia do tworzenia interpreterów w F#. Dzisiaj chciałbym przedstawić bliżej jedno z nich, czyli fslex.exe. Dobrym źródłem wiedzy na temat fslex jest książka twórcy F#, Dona Syme pt. „Expert F#”, w której poświęcono cały rozdział technikom parsowania i tworzenia interpreterów w F# oraz dokumentacja do ocamllex. Wygenerowany kod analizatora wykorzystuje typy z dllki FSharp.PowerPack.dll, więc jeżeli chcesz używać analizatora w swoim projekcie powinieneś również ...
Tak, jak wspominałem w ostatnim wpisie, kontynuujemy dzisiaj zmagania z interakcją Gracza z modelami znajdującymi się na scenie. Najpierw zamkniemy każdy z nich w „bańce”, którą następnie będziemy nękać promieniami (ang. rays) i domagać się odpowiedzi na najważniejsze z pytań: „Było przecięcie, czy nie?” (co najlepsze, odpowiedzią może być 42 ). Zaznaczanie, czyli kolizja Zaznaczanie można zrealizować na kilka sposobów. Można np. rysować każdy z obiektów sceny obie...
Autor: Aktualnie pracowałem nad projektem UI do mojego forum. W zasadzie takie w miarę proste rozwiązanie już jest gotowe. Wiec postanowiłem zabrać się za implementacje powoli podstawowych widoków. I tutaj pojawił się pierwszy problem. A mianowicie zarządzanie, kompresja i cachowanie plików CSS i JS. Jak że zwykle mamy w projekcie jakieś stałe skrypty(np. jQuery) które są wykorzystywanie przy każdym widoku wypadało by żeby one były cachowane i skompresowane. Wiec zabrałem się za rozwiązanie tego problemu...
Korzystając jeszcze z Visual Studio 2008 bez problemu zintegrowałem z nim wtyczkę AnkhSVN, pozwalającą na obsługę tego systemu kontroli wersji bezpośrednio z poziomu IDE. Jednak po przeniesieniu się na Visual Studio 2010 i tradycyjnej instalacji wtyczki, nie dało się z niej skorzystać. Otóż VS 2010 posiada wbudowane narzędzie do wersjonowania kodu, bug trackingu itp. – Team Foundation Server.
Czy otrzymałeś kiedyś taki oto błąd? The calling thread cannot access this object because a different thread owns it. Dzieje się tak, najczęściej wtedy, gdy próbujemy aktualizować kontrolki użytkownika z innego wątku. Taka czynność nigdy nie była dobrym pomysłem i trzeba było o tym pamiętać, jednak od wersji bodajże 2 .net Framework-a dostajemy taki wyjątek jak powyżej. Dzięki temu, nawet jeśli coś zostanie przeoczone i będziemy jednak chcieli wykonać aktualizację kontrolki użytkownika z innego wątku n...
Programowanie rozproszone 5153 dni, 5 godzin, 42 minuty temu 81 źrodło rozwiń
Autor: Wczoraj wieczorem przysiadłem chwilę i poszperałem w sieci co trzeba zrobić, by debugger Visuala ładnie „wyświetlał” obiekty naszych klas(np. po najechaniu na niego myszką, w okienku Watch). Gdy jeszcze moim głównym językiem był C++ też zapragnąłem mieć coś takiego. Niestety, w przypadku programowania natywnego nie ...
W poprzedniej części zacząłem pisać o przekształceniach i transformatach, w tym wpisie pokazane zostaną przykłady jak można wykorzystać transformaty do poruszania kamerą. Okazuje się, że przekształcanie (w tym obracanie, przesuwanie) wszystkich elementów w scenie może być niewygodne i nieopłacalne (np. ze względów wydajnościowych), dlatego czasem lepiej będzie wykonać przekształcenie dla samej kamery.
Kolejny post dotyczący podstaw ASP.NET. Tym razem przyszedł czas na omówienie mechanizmu, jakim jest View state. Mechanizm ten jest wykorzystywany do przechowywania informacji, które muszą być podtrzymane pomiędzy kolejnymi postbackami. Informacja o przechowywanych danych jest zawarta w jednym lub więcej polach ukrytych (hidden fields) dołączanych do kodu html strony. Warto podkreślić, że View state przeznaczony je...
Przy prezentacji grafiki 3D ciekawą funkcjonalnością może być umożliwienie użytkownikowi oglądanie sceny 3D z wielu punktów widzenia, obracania elementów sceny itp... W tym wpisie zaprezentowane zostanie jak można taką funkcjonalność stworzyć w WPF 3D. Niniejszy wpis poza prezentacją różnych i niezależnych od konkretnego wykorzystania treści stanowi również opis pewnych zagadnień związanych z projektem Mesh Diagram 3D.Informacje dotyczące projektu oznaczone są etykietą MeshDiagram3D. Efekt oglądania sc...
Autor: Ponieważ nie wszyscy zdają sobie sprawę z możliwości oraz wymagań jakie stawia przed nami firma Microsoft odnośnie korzystania z produktów w wersji Express Edition, postanowiłem zamieścić fragment listu jaki otrzymałem z Centrum Obsługi Klienta Microsoft.
Debugowanie jest procesem niezwykle złożonym. Istnieją publikacje opisujące techniczne aspekty wyszukiwania błędów w kodzie w ten właśnie sposób. Czasami warto jednak zapoznać się z jakimś zagadnieniem w oderwaniu się od konkretnej technologii. Taką właśnie pozycją jest Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać (oryg. Debug It!: Find, Repair, and Prevent Bugs in Your Code). Książka nie jest opisem jakiegoś narzędzia wspomagającego debugowanie, platformy uruchomieniowej cz...
Zdarza się, że programując czy to w Silverlightcie czy w WPF-ie, otwierając plik .XAML nie chcemy widzieć edytora. A to być może z powodów wydajnościowych, a może “ideologicznych” bo jesteśmy “hardcorowymi developerami” i designery są “dla małych dziewczynek” . Jak w Visual Studio (na pewno 2010, 2008 nie sprawdzałem) osiągnąć taki efekt? Bardzo prosto. Należy otworzyć taką ścieżkę menu: Tools -> Options -> Texteditor -> XAML -> Mis...
Okiełznać mysz w XNA + WF Podstawowym elementem zaznaczania jest ustalenie pozycji myszy na ekranie. Przy pracy nad tą funkcjonalnością pewien delikatny niuans sprawił, że zajęło to zdecydowanie dłużej, niż zakładałem.Mysz w XNA Dobranie się do pozycji myszy w czystym XNA jest niezmiernie łatwo. Służy do tego obiekt klasy MouseState, który wypełniamy bieżącymi informacjami fragmentem kodu: MouseState mouseState = Mouse.GetState(); Po wykonaniu takiej operacji obiekt mouseState zawiera aktualną pozycję m...