compile errors - crash errors - installation problems - compile problems
As we all know, a computer is not perfect and not smart enough to
understand
all your needs... That's why we constructed this page! This page will
be
updated regularly. If you still have problems not reported here,
contact
us, so we can add them to this page!!
Try to report the problem (error messages, ...) as exact as possible:
compile error | possible causes (oorzaken) | solutions |
call of proper procedure in expression | - de procedure geeft geen waarde terug, bvb x :=
WrCard(...)
is fout, geen x:= ervoor zetten |
|
control variable "i" is threatened here | als je in de FOR declaratie "i" gebruikt, dan mag je die binnen de FOR-lus niet van waarde doen veranderen of gebruiken voor een andere FOR | |
designator is read-only |
- je mag een constante niet van waarde veranderen - de procedure heeft een VAR parameter, dan moet je een variabele meegeven (geen constante of iets als x + 1) |
|
expected expression | waarschijnlijk niets tussen de kommas gezet in oproep van een functie: (.... , , ...) | |
expected start of declaration | - hij verwacht een declaratie (VAR, TYPE, CONST of
PROCEDURE) - je hebt bvb een BEGIN vergeten |
|
expected start of factor | - de compiler verwacht een getal of een variabele
- compiler is expecting a number for variable |
- als in array definitie ARRAY [1...10]:
gebruik
2 puntjes ipv 3!! - when in array definition ARRAY [1...10]: use 2 dots instead of 3! |
expected start of statement | - hij verwacht een statement - VAR, PROCEDURE, CONST en TYPE declaraties moeten voor de BEGIN van de module gebeuren! - in a CASE: you forgot the '|' before a new label |
|
expected symbol ";" | - ";" vergeten op vorige lijn - als op laatste lijn => een END vergeten bij een IF of een FOR - op lijn met RETURN x; => de procedure is niet gedefinieerd dat hij een waarde returnt (output type na de haakjes vergeten) |
|
expression out of bounds | - index van een array ligt buiten de grenzen van de array (kleiner of groter) | |
fewer actual than formal parameters | - je hebt aan de procedure te weinig parameters
meegegeven.
Bvb WrCard heeft 2 parameters nodig: WrCard(x,2) - bij gebruik van constantes MAX, SIZE, MIN, ... ben je die vergeten te definieren en worden die als procedures aanzien! |
- check het aantal parameters met de definitie van de procedure |
identifier does not match block name | - de naam na de END komt niet overeen met de procedurenaam | |
identifier expected | - hij verwacht hier een naam van een variabele of procedure
- als op een lijn met een END; statement, je hebt een END teveel gezet! |
|
incompatible types | Je bent verschillende types door elkaar aan het mixen. - toewijzingen van variabelen en procedure parameters: het type moet exact kloppen! - in expressies moeten alle variabelen ook overeenstemmen - vergeet niet de nodige haakjes te zetten vb: IF x = 1 AND y = 2 THEN moet worden IF (x = 1) AND (y = 2) THEN - vergeet de .0 niet voor reele constantes (2.0 ipv 2)!! - gebruik = in een IF, WHILE of REPEAT ipv := !!!! - you are trying to mix 2 types, this is forbidden in expressions or when you pass/return a parameter |
- check de definitie van de procedure! Zet eventueel
variabelen
om mbv VAL(TYPE, variabele) - schrijf reële constantes als 2.0!! -
|
incompatible types: REAL WHOLE CONSTANT |
- vergeet de .0 niet voor reele constantes (2.0 ipv 2), in expressies met reele getallen!! | |
invalid Location and your compiling is stopped (actually it is the optimisation-phase of XDS) |
- you have a RETURN in a FOR-loop - you have other strange constructs |
- remember that a RETURN makes a procedure to stop! |
is not an object | - geef je een niet-variabel mee voor een VAR-parameter? Dit
mag
niet. bvb: procedure call "aVarProcedure(n + 1)" is niet mogelijk, 'n + 1' is geen variabele (n op zich wel natuurlijk) |
|
language extension is not allowed (ARRAY OF
type) |
- je probeert een open array variabele te
declareren. Open arrays kan je enkel als procedure parameter gebruiken! |
|
more actual than formal parameters | - je hebt aan de procedure te veel parameters meegegeven. | - check het aantal parameters met de definitie van de procedure |
object is not an array |
- je probeert een index te nemen met [] van
een variabele die geen array is! |
|
object is not a variable |
-
hij verwacht een variabele, maar je geeft
bvb een type |
|
ordinal
type expected |
- variabele mag geen REAL zijn hier |
-
de controle variabele (i) mag geen REAL zijn |
procedure designator is expected |
- je hebt haakjes gezet achter iets dat geen
procedure
is |
|
proper procedure is expected | - de procedure geeft een waarde terug, die moet je aan een variabele toekennen | - dus RdCard(); is fout, moet x := RdCard(); zijn |
undeclared identifier "..." | - hij kent deze variabele niet
- he doesn't know this variable |
- de variabel- en procedurenamen moeten exact juist geschreven zijn! |
unexpected end of file |
- hij verwacht END
MODULENAAM. |
- heb je een END te weinig? |
if you replace the xc.msg file of the bin directory of your xds with this one, you get more detailed messages from us: we added the possible causes of this table to the messages!
To see on which line your code crashed, use the his-tool !! (or use the debugger )
crash error | possible causes (oorzaken) | solution |
ASSERT (FALSE, 200) | ??? - I think it has to do with mixing different XDS versions: delete all .sym & .OBJ files |
|
invalid case in CASE statement | - the CASE variable got a value that is not in the list of labels | add a ELSE statement to handle the values |
invalid index | - de index van de array ligt buiten de gedefinieerde
grootte - index of an array out of bounds |
|
invalid location | - you use a variable (or a procedure) which you did not give
a
value (bvb niet-geinitialiseerde variabele in een procedure wordt
gebruikt,
maar heeft nog geen waarde gekregen!) - you reference a NIL pointer (eg ptr^.next when ptr = NIL)!! |
|
function without RETURN statement | er is geen RETURN statement aan het einde van
de
procedure function reached the end without a RETURN statement there |
|
negative or zero based ... | the power procedure of RealMath can only handle a strictly positive base. I know this is stupid! | be sure that the base is strictly positive |
whole overflow | - waarde van een variabele wordt te groot of te klein
(bvb
Cardinal krijgt een negatieve waarde) - value gets too big or too small (eg Cardinal gets a negative value) |
|
zero division | - you divide a number by 0 |
problem | Possible solutions |
during installation: error message "couldn't install API-files" | Put back the date before the expiration date (for XDS 2.45)!! |
"Setup is unable to find a hard disk location to store temporary files. Make at least ... Error 101" | I had this problem in Windows NT. I copied the xds-x86-245-trial-win32.exe and the tscp-x86-245-trial-win32.exe files to the C:/Temp directory, started the installation from there and then it worked. This temporary folder is used to create the temporary install files (this foder could be on another location on your PC). |
file is in use by another user | Try to install XDS to another folder (not the same as where you extracted it). If this doesn't help, reboot your computer and try again. |
Compile Problems
XDS is installed, but you can't run even the simplest, correct
program...
problem | Possible solutions |
error message: ASSERT ... | - first try this: delete all the .SYM & .OBJ files (these
files
are generated by XDS) in that folder and recompile - You'll have to restart the computer (logging off is not sufficient) |
error: %cE%cO%c... error: DEMO version: Code generation is disabled |
You are using a demo version of XDS. Put back the date before the expiration date (shown in the XDS menu: Help -> About) If you see in the blue window bar (top left) "XDS DEMO", you 'll have to restart XDS after putting back the date |
Couldn't open executable ... | - don't put spaces in the name of your folders or
files... - the name of the file must be exactly the same as the module name - don't try to run definition and implementation modules, just compile them with and run them from the main module |
Severe Error: external command fault 255: xlink tmp.lnk |
- check if your black screen got the "program terminated"
message
in the blue bar of the window, otherwise close it (cross in upperright
corner) - is the name of the module and file exact the same (case sensitive) - delete all the .SYM & .OBJ files (these files are generated by XDS) in that folder and recompile - a .MOD file is missing (the .DEF file is present) |
- Severe error: Bad return code from maker - Severe error: Module not found "..." |
- don't put spaces in the name of your folders or files... |
Severe error in ... .def: INTERNAL ASSERT WHILE reading symbol file ... .sym |
I think this .sym file was generated with another XDS version. Delete it and recompile (maybe delete all .sym and .obj files)! |
Severe Error in ******.mod (4:15): file open error: "Windows.sym" no such file | The installation of your XDS went wrong, it didn't install
Windows.sym
(necessary for using sound). Reinstall XDS. Make sure it reports "Windows.sym" and not "Wimdows.sym". In the second case, just reinstall wimdows. |
Severe Error: external command fault 255: error starting maker |
- don't install XDS in a folder with spaces (like "Program
Files") ??? reinstall?? |
Severe Error: Project make aborted | This error happens sometimes in the computerrooms, I couldn't
find
the exact reason yet. This worked for me: - delete all your .SYM, .BAK & .OBJ files |
The code is not coloured... | Your file isn't saved as a .mod file, you have to add this extension yourself while saving! |
The run button is disabled: | A bug of XDS. Open another text window, then go back to your
code. |
RUN doesn't do anything | You'll have to restart the computer (logging off is not sufficient) |
other... | Possibly the installation went wrong: reinstall XDS (remove XDS completely, also in the registry (see Installation Troubleshooting point 5)) |