| DejaVu | » 2014-06-06 10:40:06 Można też zwrócić kopię obiektu, która w sumie będzie nieco lepsza, ponieważ z mojego doświadczenia klasa ta ma nieco wybrakowany interfejs, więc kopia jest nieco bardziej praktyczna. | 
|  | 
| pekfos | » 2014-06-06 12:51:08 I dalej nie podałeś żadnego kodu, do zdiagnozowania faktycznego problemu. W praktyce klepiemy już drugą stronę tematu o niczym. | 
|  | 
| Rughailon Temat założony przez niniejszego użytkownika | » 2014-06-07 13:45:13 Wybaczcie za brak odpowiedzi, gdyż nie miałem dostępu przez ten czasu do projektu. Kod: class c_manager {private:
 sf::Packet packet_receive;
 std::string last_package;
 public:
 bool send_package( sf::UdpSocket *, sf::IpAddress, unsigned short, std::string );
 bool send_package( sf::UdpSocket *, sf::IpAddress, unsigned short, sf::Packet );
 void receive_package( sf::UdpSocket &, sf::IpAddress, unsigned short );
 
 inline std::string get_last_package() { return last_package; }
 inline sf::Packet get_last_packet() { return packet_receive; }
 };
 
 void c_manager::receive_package( sf::UdpSocket & socket, sf::IpAddress sender, unsigned short sender_port ) {
 if( socket.receive( this->packet_receive, sender, sender_port ) == sf::Socket::Done ) {
 packet_receive >> last_package;
 
 } else {
 this->packet_receive << "Nothing packet";
 packet_receive >> last_package;
 
 }
 }
 
Co do tej kopii obiektu. Co masz na myśli? | 
|  | 
| DejaVu | » 2014-06-07 14:10:22 packet_receive >> last_package;
Jesteś świadom co ta linijka robi? | 
|  | 
| Rughailon Temat założony przez niniejszego użytkownika | » 2014-06-07 14:24:51 Tak. Wyciągam pierwszą zapisaną zmienną, tutaj to będzie string typ_pakietu. Zapomniałem zmienić nazwę. Typ mówi mi, co mam później zrobić z pakietem. Np. może to jest mapa i muszę ją zapisać to tablicy. if( search_string( get_last_type_packet(), "MAP" ) ){  }
Tylko, jak mówiłem. Zapomniałem zmienić nazwę. | 
|  | 
| DejaVu | » 2014-06-07 18:29:41 Skoro udaje Ci się poprawnie odczytać pakiet, a później nie jest on 'widoczny' to znaczy, że problemem jest Twoja klasa do zarządzania pakietami. Zapewne pracujesz na innym obiekcie niż Ci się wydaje. | 
|  | 
| Rughailon Temat założony przez niniejszego użytkownika | » 2014-06-07 22:18:55 Działa! Wprowadziłem kilka poprawek, ale rozwiązaniem było ustawienie public: 'sf::Packet packet_receive' i używanie bezpośrednio tej zmiennej. Tylko nadal nie rozumiem, czemu funkcja get nie działała, skoro zwracałem właśnie to samo. | 
|  | 
| pekfos | » 2014-06-07 22:37:34 | inline sf::Packet & get_last_packet() { return packet_receive; } 
 | 
 A tak? | 
|  | 
| 1 « 2 »  3 |