Exit with exitcode = 2??

Exit with exitcode = 2??
A1
  • Rejestracja:ponad 6 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Polska
  • Postów:82
0

Witajcie
Obecnie pracuje nad kodem, ale jak to jest, że przy pewnych założeniach w fpc - 3.0.4, wywala mi błąd taki jak w temacie. Natomiast testując to samo na kompilatorach online https://www.onlinegdb.com/, https://www.tutorialspoint.com/compile_pascal_online.php, przechodzi, bez błędu ?


Nieoszlifowany diament
edytowany 1x, ostatnio: flowCRANE
A1
chodzi o błąd 201 - ale nie widzę wyjścia poza zakres tablicy jak też do zmiennej byte nie wpisuje wartości 256 :)
AK
  • Rejestracja:prawie 7 lat
  • Ostatnio:około miesiąc
  • Postów:3561
2

Środowiska wykonawcze w webie nade wszystko muszą bronić integralności serwera, i muszą mieć więcej kontroli i blokad.

Nie angażuj się w pascale, szkoda na to czasu. Polecam C# i Visual Studio, WinForms jest mocno podobne do Delphi


Bo C to najlepszy język, każdy uczeń ci to powie
edytowany 1x, ostatnio: AnyKtokolwiek
Zobacz pozostałe 4 komentarze
WL
Dlaczego zachowanie kompilatora ma nie być identyczne lokalnie i on-line? Zwłaszcza w tym przypadku zachowanie będzie identyczne. A to że OP sobie coś tam zaklikał, oznacza tyle, ze wprowadził dyrektywę kompilatora. Możesz zrobić to samo i on-line, wpisując tę dyrektywę do kodu. Po prostu. Zatem nie wiem o czym mi tu wypisujesz... I nie chodzi tu o dyrektywę $MODE DELPHI
cerrato
Może być identyczne, ale nie wiesz, co stoi za kompilatorem online. Nie wiesz nawet, czy stoi on na windowsie czy linuksie, wersja 32/674bit też może się inaczej zachowywać. MOŻE działać identycznie, ale nie możesz tego przyjmować za pewnik - https://wiki.freepascal.org/Multiplatform_Programming_Guide
WL
@cerrato: może zamiast wymyślać kliknij w link. A okaże się, że wszystkiego czego nie wiesz jest tam napisane. Wiesz dokładnie jaka to wersja kompilatora, jaki jest target kompilacji itd. A jak jeszcze byś tak kliknął w "compile options" to mógłbyś sterować kompilacją "bardziej" przy pomocy tego: https://www.freepascal.org/docs-html/current/user/userap1.html Tak więc, przestań opowiadać bajki.
cerrato
Jezu... nie chodzi mi o ten konkretny przypadek, ale ogólnie o zasadę - na dwóch różnych systemach, kompilator MOŻE się zachować inaczej - czy to z powodu różnej architektury, innej wersji czy innych dyrektyw. Może w tym przypadku akurat ta uwaga nie jest trafna - nie wiem, nie sprawdzałem. Ale co do zasady to @AnyKtokolwiek miał rację, nie można uznać na 100% że kompilator online zachowa się tak samo jak odpalony lokalnie.
cerrato
A to co napisałeś - pierwsze zdanie jest również bez sensu w kontekście wątku pewnie jest prawdziwe (skoro sprawdziłeś w podanym linku). Powtarzam - mi nie chodziło o ten wątek, ale o ogólna zasadę. Zresztą @AnyKtokolwiek też napisał swoją uwagę ogólnie - nie "Twój link" ale "środowiska wykonawcze na webie". Czy teraz się rozumiemy?
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:Tuchów
  • Postów:12173
0

@AnyKtokolwiek: przestań już trollować – OP nie prosi o doradztwo w związku z wyborem technologii, a o pomoc z błędami kompilacji pod FPC 3.0.4. Poza tym zamiast marnować czas na wypisywanie bzdur, przeznacz go na czytanie ze zrozumieniem. OP wyraźnie napisał, że na serwerowych testerach kod działa prawidłowo, a błąd dostaje po uruchomieniu na swoim komputerze. Więc WTF? :/

@Adept123: pokaż ten kod lub okrojonego PoC-a – bez tego nie da się udzielić precyzyjnej odpowiedzi. Poza tym najpierw upewnij się, że testery online mają tę samą wersję FPC i dostają te same parametry kompilacji, których używasz lokalnie.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 2x, ostatnio: flowCRANE
A1
  • Rejestracja:ponad 6 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Polska
  • Postów:82
0

Rozwiązanie problemu !!!
W moim przypadku wystarczyło odznaczyć opcję.


Nieoszlifowany diament
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:Tuchów
  • Postów:12173
3

Człowieku… Lazarusa zainstaluj… :/

Adept123 napisał(a):

W moim przypadku wystarczyło odznaczyć opcję.

To nie jest rozwiązanie problemu, a zamiecenie go pod dywan. Twój kod jest błędny, bo powoduje przekroczenie zakresu, dlatego dostajesz wyjątek i Halt z kodem błędu. Rozwiązaniem problemu jest:

  • uważne przeczytanie komunikatu błędu,
  • przejście do linijki której ten błąd dotyczy,
  • poprawienie kodu tak, aby zakresy były respektowane.

Poprawny kod ma działać prawidłowo i nie powodować wyjątków bez względu na używane opcje kompilacji.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 5x, ostatnio: flowCRANE
A1
  • Rejestracja:ponad 6 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Polska
  • Postów:82
0

Witajcie
W moim przypadku wystarczyło zamienić trzy zmienne z integera na word:) i po problemie. W pewnym momencie do zmiennej typu integer program wpisuje wartość większą niż 32767 i stąd błąd 201.

Pozdrawiam :)


Nieoszlifowany diament
edytowany 2x, ostatnio: Adept123
Zobacz pozostałe 2 komentarze
flowCRANE
Zwykle używa się Integer, do wszystkiego co dodatnio-ujemne. Reszty się nie tyka bez wyraźnych powodów.
WL
Nie masz racji @furious programming a to co napisał @Sensacyjny Sebastian tyka się (w sumie nie tykanie w przypadku zabaw ze wskaźnikami może skończyć się poważnym fuckupem) zawsze tam, gdzie kompiluje się pod różne platformy. Co prawda dokumentacja FPC po tym względem jest standardowo enigmatyczna...
flowCRANE
No, czyli mam rację, tylko z jakiegoś powodu założyłeś, że tych „wyraźnych powodów” jest relatywnie mało.
WL
Może inaczej; generalnie mam głęboko w dupie kto i jak pisze. Ale jak widzę, że dzięki tzw. dobrym praktykom można uchronić się od durnych i wrednych błędów, to zwracam uwagę. No, ale tak @furious programming MASZ RACJE, na zdrowie.
flowCRANE
Coś nie w sosie dzisiaj jesteś.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.