Grzegorz Kot

Programista .NET

Wypowiedzi

  • Grzegorz Kot
    Wpis na grupie Programiści .NET w temacie Eclipse C++
    5.05.2012, 15:20

    Sławomir Orłowski:
    Dariusz Bujak:
    Dzięki za pomoc wystarczało usunąć
     ref 
    z przed

    czyli zmienić

    ref class Klient
    {
    };


    na


    class Klient
    {
    };


    a tak swoją droga to orientuje sie może ktoś co to jest ten
     ref 
    i do czego służy?
    Cześć,

    Słuchaj, napisz może co w ogóle chcesz zrobić a my napiszemy Ci jak to osiągnąć. Z powyższego przykładu widać, że nie orientujesz się, czym się różni standardowy C++ od C++/CLI. Jeśli chcesz pisać aplikacje z GUI wybierz C#. Jeśli masz kawałek kodu niezarządzanego, który chcesz użyć w kodzie zarządzanym to masz dwie opcje: DllImport w C# lub napisanie wrappera w C++/CLI. Oczywiście możesz też napisać to samo, ale w kodzie zarządzanym (przepisać kod). Mixed Mode C++/CLI to moim zdaniem potężne narzędzie w przypadku integracji kodu zarządzanego z niezarządzanym.

    ref przed klasą oznacza, że klasa jest typem zarządzanym, co z kolei oznacza, że jej obiekty będą odkładane na zarządzanej stercie. Moment destrukcji obiektu wybierze za Ciebie Garbage Collector. Są to typy obsługiwane przez platformę .NET. Usunięcie ref oznajmia kompilatorowi, że jest to definicja klasy, która jest typem niezarządzanym. Obiekty tego typu będą żyły na stercie niezarządzanej. Sam musisz zadbać o ich zwolnienie. Są to standardowe obiekty z "normalnego" C++. Mixed Mode umożliwia użycie (oraz definiowanie) tych dwóch typów w jednej jednostce kompilacyjnej (jednym pliku, jednej klasie itd). Co więcej, możesz zrobić zarządzany typ, w którym znajdą się niezarządzane pola, lub na odwrót. W jednej metodzie możesz jednocześnie korzystać z obiektów niezarządzanych (tworzonych np. przez wskaźnik * operatorem new) oraz obiektów zarządzanych, tworzonych za pomocą operatora ^ i gcnew. Potęga!

    Oto dyskusja na temat wad i zalet C++/CLI:
    http://www.goldenline.pl/forum/2512834/c-cli-kto-jeszc...

    Jeśli jesteś nowy w świecie .NET proponuję nie pchać się w te rejony. Bardzo szybko się zrazisz. Weź C# i będziesz szczęśliwy.

    Potwierdzam co do kierunku C# w tym o wiele więcej przynajmniej z mojej strony mogę pomóc bo w tym języku pracuję. Poza tym tak jak Sławomir stwierdził, jest to o wiele przyjaźniejsze środowisko dla tworzenia aplikacji okienkowych.
    I tak jak słusznie przypomniał C++ nie posiadał GC za to C++/CLI już dzięki .NET nam to załatwia.

  • Grzegorz Kot
    Wpis na grupie C and C plus plus w temacie gra w statki
    4.05.2012, 22:11

    Bartłomiej Jończy:
    Ja bym to zrobił w oparciu o DataGrid albo grupę checkboxów + fajne tło pod nie.

    No grupa Checkboxów to już bardziej przejdzie. Bo z tego co zrozumiałem, to chodzi ci o podpięcie do zewnętrznej "fizycznej" konsoli. Więc odpowiednie pole (sygnal sterujący) byłby odpowiednim checkbox.
    Można było by się pobawić picturebox i przestrzenią nazw odpowiedzialną za rysowanie 2d jednak to bardziej było by przyjazne gdybyś po prostu chciał klikać, a nie bawić się z zewnętrzną planszą.Grzegorz Kot edytował(a) ten post dnia 04.05.12 o godzinie 22:14

  • Grzegorz Kot
    Wpis na grupie Programiści .NET w temacie Eclipse C++
    4.05.2012, 18:51

    http://lmgtfy.com/?q=how+to+mix+managed+and+unmanaged+...

    http://ondotnet.com/pub/a/dotnet/2003/03/03/mcppp2.html

    Jeśli to coś pomoże. Grzegorz Kot edytował(a) ten post dnia 04.05.12 o godzinie 19:10

  • Grzegorz Kot
    Wpis na grupie Programiści .NET w temacie Eclipse C++
    3.05.2012, 17:08

    Dariusz Bujak:
    Grzegorz Kot:
    Chodzi Ci o stworzenie własnej kontrolki?

    Chyba tak, nie wiem co sie kryje pod pojeciem kontrolki, w javie jak chciał stworzyć sobie klase która dziedziczyła po JPanel to właśnie tak robiłem i później do tej nowej klasy potomnej dodawałem metody
    nowe metody i w desaignerze dodawałem koleujne elementy i tak też chciałbym właśnie zrobić w Visual Studio 2008

    Dalej mówimy o Qt? Czy o jakimś Windows Forms z VS?

    Chodzi mi teraz o Windows Forms z VS 2008.


    Przy stworzeniu kontrolki w ten sposób jak napisałem na samym dole (przez add new user control) po prawym myszy na projekcie. Utworzy Ci sie jak w przypadku każdej klasy *cpp i *h więc masz jak normalna klasę, a potem tak sądzę możesz z niej w pełni korzystać

    Tak jak napisałeś wyżej i w C++ tworzy się normalną klasę dziedziczącą tam po windows forms panel itd. tyle, że kwestia jest tego jak potem ją sobie wyedytować graficznie. Dlatego podałem Ci takie "klikologiczny" sposób dodania tej kontrolki. Najlepiej polecam po prostu dodanie w design na formatke buttona jakiegos, checkbox'a i poprzeglądanie plików nagłówkowych co gdzie jest inicjalizowane itd.Grzegorz Kot edytował(a) ten post dnia 03.05.12 o godzinie 17:21

  • Grzegorz Kot
    Wpis na grupie Programiści .NET w temacie Eclipse C++
    3.05.2012, 17:05

    Odpisałem Ci tam wyżej bo edytowałem

  • Grzegorz Kot
    Wpis na grupie Programiści .NET w temacie Eclipse C++
    3.05.2012, 16:27

    Chodzi Ci o stworzenie własnej kontrolki?
    Dalej mówimy o Qt? Czy o jakimś Windows Forms z VS?

    Jeśli o Qt to mogę Cie jedynie wspomóc jakimś linkiem z Kursem - http://www.binboy.org/linux/tutorials/88/Programowanie...

    Jeśli chodzi o Windows Forms dla C++ w VS.

    To nie wiem co rozumiesz pod pojęciem Panel? Bo w Javie Panel to główne okienko chyba, tutaj głównym okienkiem jest Form więc rozumiem, że na "Form" chcesz umieścić kontrolkę (własną) dziedziczącą po Panel.

    Dodawanie kontrolek bez udziału sekcji Design, a potem oglądanie po dodaniu ich własnie tam. Realizuje się w pliku nagłówkowym Forms'a W klasie Form tworzy się obiekt danej klasy(kontrolki), a potem w metodzie "InitializeComponent()" następuje umieszczenie tego obiektu i wyznaczenie różnych parametrów "wielkość, kolor, napisy itp".
    np:

    //
    // button1
    //
    this->button1->Location = System::Drawing::Point(165, 209);
    this->button1->Name = L"button1";
    this->button1->Size = System::Drawing::Size(75, 23);
    this->button1->TabIndex = 0;
    this->button1->Text = L"button1";
    this->button1->UseVisualStyleBackColor = true;
    //

    Kwestia tylko zrobienia referencji, żeby twoja klasa była widziana przez plik nagłówkowy Formatki. Nie mam intelliSens'a dla C++ albo tak jest albo coś padło (C++/CLI)

    Inną sprawą jest zrobienie całkiem swojej (dziedziczącej czy też nie) kontrolki, a potem po prostu wrzuceniu jej do ToolBox. To wtedy add new item -> i dodanie user control i możesz sobie projektować własna kontrolkę w Design. (Cały czas opieram się o windows formsa dla c++)Grzegorz Kot edytował(a) ten post dnia 03.05.12 o godzinie 17:04

  • Grzegorz Kot
    Wpis na grupie Programiści .NET w temacie Eclipse C++
    3.05.2012, 11:21

    Ja zawsze z przyzwyczajenia korzystam z najnowszej wersji. Choć 2010 nie jest najnowsza niestety wspiera już tylko Windows Phone o ile się nie mylę. Wybrałbym 2008. A co do Windows CE tam wspieranie także w górę robi kupę problemów ale to zależ już od specyfikacji konkretnego oprogramowania.
    "For now, CE6 devices will be treated as CE5 devices, since there is no support specific to CE6 yet"
    Końcówka sugeruję, że w górę się da ale trzeba popracować ;)

  • Grzegorz Kot
    Wpis na grupie Programiści .NET w temacie Eclipse C++
    2.05.2012, 22:48

    Popieram zdecydowanie poprzedników Visual Studio. Jak zobaczyłem w tytule Eclipse, tak myślałem, że programista JAVA.
    Czy jest sens ? Zdecydowanie tak. Być może przeczytałeś zdanie o tej bibliotece w kontekście urządzeń mobilnych (telefony komórkowe). Bo nie wiem jak od wersji 4.6 potoczyło się wsparcie dla Symbiana. Ale skoro w nowej wersji wprowadzono mechanizmy ułatwiające przenoszenie na inne platformy oraz wspomaganie wzorców tzn. że Qt w pełni funkcjonuje.
    Pozdrawiam.

  • Grzegorz Kot
    Wpis na grupie Projekty start-up w temacie EKSKLUZYWNE.NET - z nowym layoutem

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Projekty start-up

  • Grzegorz Kot
    Wpis na grupie Sieci Komputerowe w temacie Sumowanie godzin

    Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Sieci Komputerowe

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do