CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - [C++/CLI]Include i praca między formami...

[C++/CLI]Include i praca między formami...

dział ogólny

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez polymorphism » sobota, 18 grudnia 2010, 14:25

Powiem, że nie do końca rozumiem, zwłaszcza, że w Visualu pliki cpp teoretycznie w ogóle nie są dostępne dla użytkownika.

Nie w Visualu, tylko ewentualnie w projekcie C++/CLI (choć jakoś wierzyć mi się w to nie chce).

Wszystko wrzuca się do plików h, czyli np. kod w aa.h całego pliku, a w aa.cpp jest tylko include tego nagłówka i nic więcej.

Być może dla zachowania konwencji - w C#, podobnie jak w Javie, nie ma takiego podziału na pliki jak w C\C++.

Boję się, żeby się to wszystko nie posypało jak zacznę przekładać mu kod tam gdzie on się go nie spodziewa w przypadku pracy na formach.

No to nie rób wszystkiego na hurra!, tylko stwórz sobie jakieś dwie klasy, które będą odtwarzać problem, i wtedy sprawdź.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez polymorphism » sobota, 18 grudnia 2010, 14:32

W tym pliku cpp o którym wspomniałeś mam coś takiego:

A po co przenosisz definicje klas? One mają pozostać w nagłówku! Przenoś implementacje metod, bo tam są ewentualne odwołania do składników zewnętrznej klasy.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Slynx » sobota, 18 grudnia 2010, 15:21

To nie rozumiem. CO ma być w pliku. cpp ?includy, przestrzeń nazw i same zdarzenia dla elementów zdefiniowanych w pliku .h ? A w .h definicja tych elementów bez zdarzeń z ref do klasy z której miałem pobrać dane ?

Jeśli tak to nie działa. W pliku cpp wtedy wyświetla, błędy tak jakby nie było definicji tych obiektów.

Powiem, że nie do końca rozumiem, zwłaszcza, że w Visualu pliki cpp teoretycznie w ogóle nie są dostępne dla użytkownika.


Nie w Visualu, tylko ewentualnie w projekcie C++/CLI (choć jakoś wierzyć mi się w to nie chce).


Ogólnie dostęp jest, przecież właśnie tak robię. Chodzi mi o to, że standardowo otwiera tylko pliki .h i tam ma być wszystko wpisywane, widocznie taki jest standard przy pracy visual + windows forms.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Firefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez polymorphism » sobota, 18 grudnia 2010, 16:26

To nie rozumiem. CO ma być w pliku. cpp ?includy, przestrzeń nazw i same zdarzenia dla elementów zdefiniowanych w pliku .h ?

Jak miałeś:
KOD cpp:     UKRYJ  
namespace xxx {

class foo
{
public:
        int metoda()const
        {
                return 666;
        }
};

}

to w H zostawiasz:
KOD cpp:     UKRYJ  
namespace xxx {

class foo
{
public:
        int metoda()const;
};

}

a do CPP dajesz implementację metody:
KOD cpp:     UKRYJ  
int xxx::foo::metoda()const
{
        return 666;
}
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Slynx » wtorek, 21 grudnia 2010, 14:58

Tu wszystko ok, ale natknąłem się na coś dziwnego.

KOD cpp:     UKRYJ  
                         ANTD_add_images^ add_images_wnd = gcnew ANTD_add_images();
                         add_images_wnd->ShowDialog();
 


To jest poprawnie utworzony wskaźnik do klasy ANTD_add_images. Całość pokazuje okno.
Natomiast to:

KOD cpp:     UKRYJ  
                         Form1^ dsd = gcnew Form1();
                         dsd->ShowDialog();
 


już jest niepoprawne, kompilator nie widzi "Form1". Oczywiście includy są, wszystko teoretycznie tak samo. Próbowałem też wskazać od przestrzeni nazw, też nic. Jakby tego w ogóle nie było. Ja "jadę" na intellisense, więc może coś mi źle podsuwa, czy coś. Tak czy inaczej, jest to dość dziwne.
Więc nasuwa się jeden prosty wniosek. Jaką nazwę ma klasa główna programu ? Zawsze stosował Form1, w każdym wpisie, a teraz się okazuje, że coś jest nie tak. A może po prostu nie można stworzyć wskaźnika do klasy głównej ? Przydałoby się gdyby ktoś mi to wyjaśnił, bo nie mam pojęcia w czym problem. To jest jednocześnie powrotem do początku tematu, bo pisałem o jednym , a problem może leżał zupełnie gdzie indziej.

---
Aha, i jeszcze coś. Dopuściłby (kompilator) taką samą przestrzeń nazw jak nazwę klasy głównej ? Czy wywaliłby błąd.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Firefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez polymorphism » środa, 22 grudnia 2010, 13:08

To zależy. Jeśli mówisz o czymś takim:
KOD cpp:     UKRYJ  
class foo
{
        ...
};

namespace foo
{
        ...
}

to nie, nie dopuści. Ale jeśli mowa o takim przypadku:
KOD cpp:     UKRYJ  
namespace foo
{
        class foo
        {
                ...
        };
}

to oczywiście tak.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Slynx » środa, 22 grudnia 2010, 14:18

No niby klasa jest wewnątrz przestrzeni nazw, ale ma inną nazwę nić namespace. Pisze wyraźnie "public ref class Form1 : public System::Windows::Forms::Form", więc nie rozumiem dlaczego się nie mogę do tego odnieść. Wszędzie korzystam z tej samej przestrzeni nazw, więc nie muszę mu podawać od podstaw gdzie ma tego szukać. Muszę chyba sam pokombinować. A mam jeszcze jedno pytanie, bo po tym wszystkim to już niczego nie jestem pewien. Jak stworzyć poprawną referencję do obiektu innej klasy (konkretnie zmiennej). Z tego co zrozumiałem to byłoby chyba coś w stylu

KOD cpp:     UKRYJ  
Form1^ xxx = &zmienna;
 

Czyli (chyba) tworzenie referencji do zmiennej po wskaźniku do klasy Form1, ale pewien nie jestem. Teraz jak przejrzałem cały projekt to uznałem, że w sumie wystarczy mi tylko referencja do jednej zmiennej, bo jest typu danych stworzonego do przechowywania tego co najważniejsze. Tak więc nie muszę tworzyć wskaźnika do całej klasy, a jedynie jednej jej zmiennej.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Firefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez polymorphism » środa, 22 grudnia 2010, 14:50

Z tego co zrozumiałem to byłoby chyba coś w stylu

A nie przypadkiem:
KOD cpp:     UKRYJ  
Form1^ xxx = zmienna;

:?:

Z tego co wyczytałem, ^ to uchwyt dla pamięci zarządzanej, a nie wskaźnik (w rozumieniu C/C++).




Tak się zastanawiam, po co się chrzanisz z tym C++/CLI, zamiast po prostu pisać w C# (jeśli koniecznie musi być .NET)?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Cyfrowy Baron » środa, 22 grudnia 2010, 15:21

System::Windows::Forms::Form


Nie wiem czy dobrze widzę, ale dostrzegam tutaj aż trzy przestrzenie nazw: System; Windows; Forms?!
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Slynx » środa, 22 grudnia 2010, 16:25

Nie wiem czy dobrze widzę, ale dostrzegam tutaj aż trzy przestrzenie nazw: System; Windows; Forms?!


Nie powiem tego profesjonalnie, ale to jest miejsce gdzie kompilator ma szukać typu obiektu do stworzenia. Ale w sumie tak, zgadza się trzy przestrzenie nazw z której każda jest podrzędna. Nie można od razu wpisać Windows::Forms::Form, chyba że wcześniej dasz wpisy (using namespace System).

Kod: Zaznacz cały
Z tego co wyczytałem, ^ to uchwyt dla pamięci zarządzanej, a nie wskaźnik (w rozumieniu C/C++).
W takim razie jak stworzyć wskaźnik gdy "*" nie uznaje za poprawne użycie ? No właśnie. "Daszek" jest oznaczeniem wskaźnika, tylko być może coś zmienili, dopisali, sam nie wiem, bo się w to nie zagłębiałem.

Spróbuję cały projekt rozdzielić na definicję w nagłówkach i resztę w cpp. Trochę to pewnie zajmie.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Firefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Slynx » środa, 22 grudnia 2010, 17:26

No dobra, co do tego podziału. A co ze zdarzeniami, mam na myśli fragmenty
KOD cpp:     UKRYJ  
this->ADD_NEW_Add_button->Click += gcnew System::EventHandler(this, &add_new_to_database::ADD_NEW_Add_button_Click);
 

to nie może samo zostać w pliku .h. A jeśli mam to przenieść to w sumie muszę przenieść wszystko, bo każdy element ma jakieś zdarzenie, które jest dodawane w ten sposób. To jest w sumie całe "Initialize Component", czyli zostałoby jedynie tworzenie samych czystych obiektów i to wszystko. A potem i tak musiałbym część przepisać, przestrzenie nazw, klasa do której się odnosi... no właśnie, co z klasą ? Nie mogę skopiować z oryginału, bo będzie redefinicja, a przecież musi wiedzieć do czego ma to przypisać. I w sumie tego jest więcej.
Poszukam sobie czegoś w internecie, może coś znajdę. Na schemacie który przedstawiłeś ładnie to wyglądało, ale w rzeczywistości jest trochę więcej rozważań. Dam znać jak uda mi się to wszystko zrobić.Jakoś.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Firefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Cyfrowy Baron » środa, 22 grudnia 2010, 18:40

Trudno będzie Tobie uzyskać pomoc w kwestii jezyka c++/cli, gdyż nikt z odwiedzających to forum chyba go nie używa. Co do Twojego pytania, to ja mam kontr-pytanie, czy wiesz jak się tworzy klasy w c++, oraz jak się dynamicznie podpina zdarzenia pod obiekty?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Slynx » środa, 22 grudnia 2010, 19:05

Klasy tak, przecież całą klasę danych sam pisałem od zera, co do eventów to z tym miałem problem, bo chciałem obsługiwać okno z tej "drugiej strony", ale nie wiedziałem właśnie jak to poprawnie stworzyć, więc zostałem przy tym co było.

I już chyba nic z tym nie zrobię. Poczekam do końca świąt, wtedy będę miał okazje to przedyskutować z kimś, choć i tak wątpię by znał na to rozwiązanie, ale cóż, zobaczymy. A dalej nie będę pisał na oko, bo może to nie ma w ogóle sensu. Później się okaże, że wszystko trzeba będzie od podstaw przeprojektować :/
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Firefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Slynx » środa, 22 grudnia 2010, 19:51

Poly, mam do Ciebie prośbę jeśli masz chwilkę czasu. Może móglbyś ten przykładowy program rozłożyć na pliki cpp. i .h ? Tylko tak dokładnie, a nie na oko. Ma w sumie wszystkie elementy, które sprawiały problemy, a jest stosunkowo krótki. To akurat jeden z plików projektu. Jak można zauważyć, ma zaledwie jedno zdarzenie z pojdeyncza funkcją, bo właśnie obsługuję całą formę z formy głównej (formy = klasy).

Kod: Zaznacz cały
#pragma once
#include "cos.h"

namespace kataloger {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

   /// <summary>
   /// Summary for slider
   ///
   /// WARNING: If you change the name of this class, you will need to change the
   ///          'Resource File Name' property for the managed resource compiler tool
   ///          associated with all .resx files this class depends on.  Otherwise,
   ///          the designers will not be able to interact properly with localized
   ///          resources associated with this form.
   /// </summary>
   public ref class slider : public System::Windows::Forms::Form
   {
   public:
      slider(void)
      {
         InitializeComponent();
         //
         //TODO: Add the constructor code here
         //
      }

   protected:
      /// <summary>
      /// Clean up any resources being used.
      /// </summary>
      ~slider()
      {
         if (components)
         {
            delete components;
         }
      }
   public: System::Windows::Forms::Button^  button1;
   protected:

   private:
      /// <summary>
      /// Required designer variable.
      /// </summary>
      System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
      /// <summary>
      /// Required method for Designer support - do not modify
      /// the contents of this method with the code editor.
      /// </summary>
      void InitializeComponent(void)
      {
         this->button1 = (gcnew System::Windows::Forms::Button());
         this->SuspendLayout();
         //
         // button1
         //
         this->button1->Location = System::Drawing::Point(107, 36);
         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;
         this->button1->Click += gcnew System::EventHandler(this, &slider::button1_Click);
         //
         // slider
         //
         this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
         this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
         this->ClientSize = System::Drawing::Size(284, 262);
         this->Controls->Add(this->button1);
         this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::None;
         this->Name = L"slider";
         this->Text = L"slider";
         this->ResumeLayout(false);

      }
#pragma endregion
   private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
          {
             this->Close();
          }
   };
}

Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Firefox

Re: [C++/CLI]Include i praca między formami...

Nowy postprzez Cyfrowy Baron » środa, 22 grudnia 2010, 20:22

Bardzo się to wszystko tutaj pogmatwało i należałby to uporządkować.

Przede wszystkim to nie ma żadnego wymogu mówiącego, że klasy należy tworzyć w oparciu do dwa pliki - źródłowy i nagłówkowy. Wszystko można wrzucić do jednego pliku z rozszerzeniem H lub CPP.

Nie bardzo wiem jak to jest w c++/cli, ale w c++ jeżeli chcesz stworzyć jakiś obiekt w oparciu o klasę to musisz w sekcji include dołączyć plik nagłówkowy zawierający implementację tejże klasy. W C++Builder będzie to #include <Forms.hpp>.

Punktator ^ jest uchwytem do zarządzanego obiektu. Uchwyt nie jest wskaźnikiem lecz zarządzaną referencją, a to oznacza (tak ja to rozumiem), że już podczas tworzenia obiektu będącego referencją trzeba ustalić na co będzie wskazywać i nie można jej później modyfikować.

Funkcja gcnew zwraca uchwyt nie wskaźnik i jest używana do inicjowania obiektów CLR (Common Language Runtime - z ang. Środowisko Uruchomieniowe Wspólnego Języka) i zwraca uchwyt do nowo tworzonego obiektu na stercie CLR.

To tyle. Mi to wiele nie mówi.



Wrócę teraz do Twojego postu: http://programowanie.cal.pl/forum/viewtopic.php?f=2&t=1181&start=15#p8179

W pierwszym przykładzie mamy taki oto fragment kodu:

KOD cpp:     UKRYJ  
#pragma once
#include "class.h"
#include "aaa.h" // <-- Tu tkwi problem, gdy chcę dodać podrzędną klasę do głównej i gdy główna musi być użyta w podrzędnej. (obydwie korzystają z siebie nawzajem ;p)

namespace aa { // <-- PATRZ TUTAJ

        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;

        public ref class Form1 : public System::Windows::Forms::Form // <-- PATRZ TUTAJ
        {


a w trzecim, który korzysta z tego pliku mamy:

KOD cpp:     UKRYJ  
        private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
                         {
                                Form1^ dlg = gcnew Form1(); // <-- PATRZ TUTAJ
                                dlg->KKK.NAME[1] = "as";


Rzecz w tym, że klasa Form1 pierwszego pliku znajduje się w przestrzeni nazw aa, więc należałoby odwoływać się do tej przestrzeni, czyli:

KOD cpp:     UKRYJ  
 aa::Form1^ dlg = gcnew aa::Form1();


ale prościej będzie dodać:

KOD cpp:     UKRYJ  
using namespace aa


Wydaje się, że skoro w obydwu plikach wszystko umieszczasz w przestrzeni nazw o tej samej nazwie, to nie powinieneś odwoływać się do obiektów poprzez tą przestrzeń nazw i... tutaj nie jestem pewien...

Te błędy:


1>c:\users\slynx\documents\visual studio 2008\projects\aa\aa\aaa.h(99) : error C2065: 'Form1' : undeclared identifier
1>c:\users\slynx\documents\visual studio 2008\projects\aa\aa\aaa.h(99) : error C2065: 'dlg' : undeclared identifier
1>c:\users\slynx\documents\visual studio 2008\projects\aa\aa\aaa.h(99) : error C2061: syntax error : identifier 'Form1'
1>c:\users\slynx\documents\visual studio 2008\projects\aa\aa\aaa.h(100) : error C2065: 'dlg' : undeclared identifier
1>c:\users\slynx\documents\visual studio 2008\projects\aa\aa\aaa.h(100) : error C2227: left of '->KKK' must point to class/struct/union/generic type



wskazują na to, że nie rozpoznawana jest klasa Form1, co może być spowodowane tym, że znajduje się w przestrzeni nazw i trzeba tej przestrzeni użyć.



Poly, mam do Ciebie prośbę jeśli masz chwilkę czasu. Może mógłbyś ten przykładowy program rozłożyć na pliki cpp. i .h ?


To nie jest konieczne, wszystko może być w jednym pliku, o czym wspomniałem na początku.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Poprzednia stronaNastępna strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 52 gości

cron