kubawal Temat założony przez niniejszego użytkownika |
[SFML 2.1] [TGUI v0.5] Odmowa dostępu do adresu w konstruktorze » 2013-08-25 21:31:11 Witam! Oto kod: class Game : { tgui::Window win; };
Game::Game( int ww, int hh ) : win( sf::VideoMode( ww, hh ), "Samolocik" ) , { }
Kawałek kodu TGUI: Window::Window( sf::VideoMode mode, const std::string & title, sf::Uint32 style, const sf::ContextSettings & settings ) { this->RenderWindow::create( mode, title, style, settings ); m_GroupFocused = true; }
W linijce this->RenderWindow::create( mode, title, style, settings ); wywala "Access violation reading location...". (to nie NULL, sprawdzałem). W disasm (kod tej linijki): lea ecx,[ebp-38h] call std::locale::locale (503C0Bh) mov dword ptr [ebp-3Ch],eax mov eax,dword ptr [ebp-3Ch] mov dword ptr [ebp-40h],eax mov byte ptr [ebp-4],3 mov esi,esp mov ecx,dword ptr [ebp-40h] push ecx mov edx,dword ptr [ebp+14h] push edx lea ecx,[ebp-34h] call dword ptr [__imp_sf::String::String (62DDA4h)] cmp esi,esp
W ostatniej instrukcji wywala ten błąd. Podejrzewam że to jakiś problem ze stringiem (przedostatnia instrukcja). |
|
ridic14 |
» 2013-08-25 22:55:43 Jaka wersja TGUI <kompilowałeś sam czy gotowe liby> ?... hmm... ewentualnie spróbuj użyć klasy (tgui::Form - 5.0)/(tgui::Gui - 6.0) |
|
kubawal Temat założony przez niniejszego użytkownika |
» 2013-08-26 10:09:35 Pod VC można tylko sam skompilować. Mam TGUI v0.5. |
|
DejaVu |
» 2013-08-26 14:59:11 Być może gdzieś kopiujesz obiekt Game zamiast przekazywać go przez referencję. |
|
kubawal Temat założony przez niniejszego użytkownika |
» 2013-08-26 15:10:39 Nie, obiekt Game jest tylko jeden (tworzony w main() i obsługuje całą resztę. Ale spróbowałem utworzyć tgui::Form zamiast tgui::Window i wywala mi "Nie znaleziono punktu wyjścia procedury..." do konstruktora sf::RenderWindow. W Release tego problemu nie ma, ale za to gra się crashuje przy próbie stworzenia jakichkolwiek widgetów.
Nie chce mi się z tym bawić, więc zamierzam napisać swoje własne GUI oparte o grafikę tgui'a. |
|
DejaVu |
» 2013-08-26 15:22:04 Skoro nie znaleziono punktu wyjścia procedury to znaczy, że masz złe dll-ki, więc nic dziwnego, że w Release się crashuje, a w debug wyświetla komunikat. |
|
kubawal Temat założony przez niniejszego użytkownika |
» 2013-08-26 15:39:40 Taa? To nie powinno się wyśietlać coś w rodzaju "Nie można znależć xxx.dll. Ponowne zainstalowanie tej aplikacji może naprawić ten problem"? |
|
jankowalski25 |
» 2013-08-26 15:47:16 "Nie znaleziono dll-ki" to nie to samo, co "niepoprawna wersja dll-ki". |
|
« 1 » 2 |