Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Sha-Kaan
Nowy
Dołączył: 23 Maj 2006
Posty: 8
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 16:49, 23 Maj 2006 Temat postu: [FreePascal] Błąd Fatal: Unexpected end of file |
|
|
Witam
Mam jeszcze jeden problem korzystajac z freepascala FPC, natknalem sie na pewien blad, cytuje: "Fatal: Unexpected end of file"
Dodam ze owy program dziala bez problemow pod tp7.0 i 7.01
moze ktos zna odpowiedz?
Pozdrawiam
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|
 |
Szymek
Administrator
Dołączył: 22 Maj 2006
Posty: 103
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 17:13, 23 Maj 2006 Temat postu: |
|
|
Czy możesz podać kod lub jego fragment, który sprawia kłopoty?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Sha-Kaan
Nowy
Dołączył: 23 Maj 2006
Posty: 8
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 17:20, 23 Maj 2006 Temat postu: |
|
|
Kod to ponad 1300 wersow, wiec nei bede go tu wrzucal. Ale wszystko dziala bez problemu w TurboPascalu 7.0, ten komunikat wyskakuje tylko podczas kompilacji w freePascalu FPC. I w zasadzie nie wiem gdize szukac problemu...
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Szymek
Administrator
Dołączył: 22 Maj 2006
Posty: 103
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 17:24, 23 Maj 2006 Temat postu: |
|
|
Podaj więc tutaj fragment kodu (procedurę wraz z deklaracjami zmiennych) i napisz, w którym miejscu (w której linii) kompilator wskazuje błąd.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Sha-Kaan
Nowy
Dołączył: 23 Maj 2006
Posty: 8
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 17:34, 23 Maj 2006 Temat postu: |
|
|
Kod: | {// G L O W N Y P R O G R A M
{///////////////////////////////////////}
Begin
graEXIT:=FALSE;
menuSTART:=TRUE;
graSTART:=FALSE;
while graEXIT=FALSE do
begin
if menuSTART=TRUE then menu;
if graSTART=TRUE then gra;
end;
end.
{^^^ - o tu na koncu :))} |
Ps zaraz jakiegos screena zrobie
A tu fotka:)
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Szymek
Administrator
Dołączył: 22 Maj 2006
Posty: 103
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 17:52, 23 Maj 2006 Temat postu: |
|
|
To może podaj cały kod
We fragmencie nie widzę żadnego błędu, ale być może problem leży gdzie indziej (może nie zakończyłeś jakiejś pętli, np. repeat..until, albo nie zamknąłeś bloku begin..end; nie mam pojęcia )
Jeszcze jedno: kod podawaj w blokach [.code][./code] (bez tych kropek oczywiście).
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Sha-Kaan
Nowy
Dołączył: 23 Maj 2006
Posty: 8
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 17:59, 23 Maj 2006 Temat postu: |
|
|
Ja tez nie moge nic znalesc, zreszta jakby cos bylo zle to by przeciez w TP 7 tez pokazal jakis blad a tam czysciutko podczas kompilacji i Caly program dziala bez zarzutu.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Szymek
Administrator
Dołączył: 22 Maj 2006
Posty: 103
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 18:03, 23 Maj 2006 Temat postu: |
|
|
Podaj ten kod na forum jako tekst lub w postaci załącznika, bo naprawdę trudno mi coś doradzić. Mam FPC, to najpóźniej do jutra dałbym ci odpowiedź.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Sha-Kaan
Nowy
Dołączył: 23 Maj 2006
Posty: 8
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 20:28, 23 Maj 2006 Temat postu: |
|
|
pokombinowalem troche i teraz mam inny blad w tym kodzie:
Kod: | procedure g_ustaw_tryb_vga(tryb : byte);assembler;
asm
mov ah, 00h {zaladuj 00h do AH - numer funkcji przerwania 10h}
mov al, tryb {zaladuj tryb do AL - numer trybu pracy karty graficznej}
int 10h {wywolaj przerwanie 10h}
end; {koniec procedury g_ustaw_tryb_vga}
|
a blad tresci: Unknown identifier "AH", czyli freepascal nie obsluguje assemblera?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Szymek
Administrator
Dołączył: 22 Maj 2006
Posty: 103
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 18:04, 25 Maj 2006 Temat postu: |
|
|
FreePascal obsługuje asemblera, jednak w wersji 32-bitowej (Turbo Pascal 7 obsługuje asemblera w wersji 16-bitowej). Dlatego musisz w większości przepisać kod asemblera na 32-bitowy. Spróbuj też zmienić ustawienia kompilatora (zakładka Assembler).
Po usunięciu komentarzy błąd zostaje usunięty.
Dlaczego po usunięciu komentarzy błąd znika? Ponieważ jeżeli komentarze są źle wstawione (np. w przypadku komentarzy zagnieżdżonych, gdy liczba nawiasów otwierających jest większa niż zamykających), kompilator oczekuje zamknięcia wszystkich komentarzy. Gdy któryś z nich nie jest zamknięty, kompilator żąda od nas jego zamknięcia, wyświetlając odpowiedni komunikat.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|