Skocz do zawartości

get_open_filename


Mastodont
Przejdź do rozwiązania Rozwiązane przez gnysek,

Rekomendowane odpowiedzi

Yoyogames usunęło działanie funkcji "get_open_filename"? Aktualnie nie da się wczytywać w ten sposób pliku - pojawia się komunikat "File is not opened for reading." xD 

Otworzyłem pewien projekt, którego nie ruszałem od miesięcy i nie bardzo mogę w nim pracować, bo coś się zmieniło chyba w jakiejś aktualizacji.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Nie, nic się nie zmieniło, ta funkcja zwraca jedynie nazwę pliku, nie otwiera go, musisz go potem otworzyć funkcją do otwierania plików, np. file_text_open_read, file_bin_open . Komunikat jest więc jak najbardziej prawidłowy, bo ta funkcja nie otworzyła żadnego pliku, jedynie zwróciła string z jego nazwą.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja trochę źle wytłumaczyłem problem w pierwszej wiadomości, mea culpa.

Tak, wiem, że zwraca tylko ścieżkę. Plik otwieram właśnie za pomocą file_text_open_read, ale właśnie pokazuje się ten komunikat. Zastanawiałem się, czy coś się zmieniło, bo wróciłem do jednego projektu po kilku miesiącach, w którym używam tej funkcji. Ostatnim razem działało bez zarzutu, a teraz nie bardzo mogłem popracować. Dopiero jak wyłączyłem "sandbox file system", bez zmieniania czegokolwiek w kodzie, zaczęło działać...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Raczej nic się nie zmieniało, aczkolwiek mogło być tak, że kiedyś taki plik spoza sandboxa dało się otwierać do odczytu, a teraz się nie da (dopisek poniżej). Była z tym jakaś zmiana, jak wprowadzili opcję nie używania sandboxa (ale to było chyba ze 2 lata temu).

Gdybyś miał gita, to można też sprawdzić, czy czasem się nie odkliknęła opcja "use sandbox" w historii folderu "options".

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
  • Rozwiązanie

@Mastodont wrócę do tematu, bowiem patrząc na nową betę, wygląda, że jednak masz rację - w najnowszej wersji jest naprawiony DOKŁADNIE ten błąd o którym piszesz:

 

Cytat

In-Game: get_open_filename() not granting appropriate permissions for folders outside the sandbox

 

W wydaniach 2023.4 / 2023.400 wszystko będzie już więc ok, ale masz rację mówiąc, że kiedyś to działało, a teraz się zepsuło.

 

get_open_filename służy właśnie bowiem do tego, żeby gracz wskazał, który plik można na dysku zmienić za jego wiedzą - przy wyłączonym sandboxie, możemy bowiem graczowi zmieniać pliki bez jego wiedzy na całym PC :)

Odnośnik do komentarza
Udostępnij na innych stronach

nie dobrze, też miałem z tym problem. Tyle że, w moim projekcie korzystałem jeszcze z get_string() a właśnie te funkcje usunęli.... i teraz będę musiał wracać do starszych wersji GMS. Mam jeszcze inny problem... jak się skojarzy pliki z programem (np. pliki graficzne), to po ich otworzeniu aplikacja nie ma dostępu do tych plików (z i bez sandbox) Ponadto, otwarta w ten sposób aplikacja nie otwiera plików za pomocą get_open_filename() - zgłoszę to, jeśli w tej ostatniej wersji też nie będzie działać.... To problemy jakie miałem na Windows , na Mac booku też występują problemy z otwieraniem plików (w testflight też) i to zgłaszałem już dawno...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
3 godziny temu, art22pl napisał(a):

get_string() a właśnie te funkcje usunęli....

 

Ostatecznie nie usunęli z tego co kojarzę, w ostatniej chwili wróciła i do czasu nowego runtime zostanie. Poza tym jest też get_string_async().

3 godziny temu, art22pl napisał(a):

po ich otworzeniu aplikacja nie ma dostępu do tych plików

 

Mówisz o "parameter_string" ? Bo pewnie tam ląduje nazwa pliku.

Odnośnik do komentarza
Udostępnij na innych stronach

W dniu 20.04.2023 o 19:58, gnysek napisał(a):

 

Ostatecznie nie usunęli z tego co kojarzę, w ostatniej chwili wróciła i do czasu nowego runtime zostanie. Poza tym jest też get_string_async().

 

Mówisz o "parameter_string" ? Bo pewnie tam ląduje nazwa pliku.

 

Tak, dokładnie. I nie było dostępu do tych plików (nie wczytywało ich), więc ścieżkę dodałem do get_open_filename() żeby wymusić dostęp dla sandbox(klikając tylko "otwórz") i nic to nie dało... Aplikacja uruchomiona po przez skojarzenie rozszerzenia, za każdym razem nie miała dostępu dla plików zewnętrznych (nawet bez sandbox). Taki był ten błąd.

Co do get_string() - to fajnie, że tak to pozostanie. Czyli, puki co.. mogę śmiało aktualizować GM i wrócić do starszych projektów.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
W dniu 22.04.2023 o 13:47, art22pl napisał(a):

Taki był ten błąd.

 

Jeśli to nadal nie działa, zgłaszaj do helpdesku - najlepiej jest zawsze zgłaszać błędy w pierwszych 3 tygodniach miesiąca, wtedy jest ogromna szansa, że naprawią je do kolejnego wydania (obecnie poprawki do moich zgłoszeń, poza featherem,widuję po ok. 2-4 tygodniach).

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...