Konflikt SDL2 - windows.h

0

Dzień dobry,

Krótki wpis, problem który widziałem też gdzieś na zagranicznym forum - nikt nie podesłał rozwiązania.
Otóż gdy otworzy się okno (OpenFileDialog - windows.h) - http://screenshooter.net/100279527/hiyemdf
To z automatu SDL2.0 przestaje działać tak jak powinno (SDL_Image przestaje wczytywać obrazki).

Nie mam pojęcia, czy w ogóle da się rozwiązać ten problem, aczkolwiek piszę - może ktoś sobie z tym poradził.

Pozdrawiam

1

A nie nadpisujesz jakichś wartości? Ten FileName ma rozmiar MAX_PATH * sizeof(wchar_t) jeśli to UNICODE? Ja bym też spróbował wywalić ustawianie uchwytu okna ownera. Jeśli to nie pomoże to wrzuć do debuggera i debugguj SDL_Image zaraz po OpenFileDialog.

1

nie znam odpowiedzi na pytanie, ale widzę jeden błąd (czy raczej niekonsekwencję).

Używasz funkcji _tcslen, która zależnie od tego czy kod jest unikodowy czy nie, jest #defineem na wcslen albo strlen.
Ale kilka linijek wyżej używasz gołego literału '\0'. Jeśli kod ma działać zarówno jako UNICODE jak i bez, literały powinny być zamknięte w makrze TEXT('\0') albo _T('\0'). Makro to dodaje literkę L w razie potrzeby, czyli wynikiem jest L'\0' albo '\0'.

1

zawsze śmieszą mnie "informatycy", którzy zamieszczają kod jako obrazek.
Nie prościej zrobić Ctrl-C Ctrl-V? A nie robić screenshot ładować na jakiś serwer kopiować linka i wklejać?


O doskonały przykład, że utrudniasz życie sobie i tym co mają ci pomóc. Widzę w kodzie WTF, ale nie chce mi się go przepisywać skacząc miedzy oknami (szczególnie trudne, gdy nazwy są bezsensu)! Widzę problem w linijce z `this->FileName` i następnej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1