Directory c:\TZ has been used for getting directory lists and compilation output lists , used for editing . The initial files are the following : ----------------------------------------------------------- File Name : \TZ\Dir-List-TS-1.TXT Volume in drive C has no label. Volume Serial Number is 6CC1-77E2 Directory of C:\ts 12/12/2009 01:32 AM . 12/12/2009 01:32 AM .. 12/12/2009 03:01 AM Source 12/12/2009 03:01 AM Typing 12/12/2009 03:01 AM Units 0 File(s) 0 bytes Directory of C:\ts\Source 12/12/2009 03:01 AM . 12/12/2009 03:01 AM .. 12/12/2009 02:56 AM 355 PROCPART.PAS 1 File(s) 355 bytes Directory of C:\ts\Typing 12/12/2009 03:01 AM . 12/12/2009 03:01 AM .. 12/12/2009 02:56 AM 217 A-RECORD-TYPE.PAS 1 File(s) 217 bytes Directory of C:\ts\Units 12/12/2009 03:01 AM . 12/12/2009 03:01 AM .. 12/12/2009 02:30 AM 199 PROCUNIT.PAS 12/12/2009 02:31 AM 148 TYPEUNIT.PAS 2 File(s) 347 bytes Total Files Listed: 4 File(s) 919 bytes 11 Dir(s) 13,850,845,184 bytes free ----------------------------------------------------------- File Name : \TZ\Dir-List-TW-1.TXT Volume in drive C has no label. Volume Serial Number is 6CC1-77E2 Directory of C:\tw 12/12/2009 01:09 AM . 12/12/2009 01:09 AM .. 12/12/2009 03:01 AM Progs 0 File(s) 0 bytes Directory of C:\tw\Progs 12/12/2009 03:01 AM . 12/12/2009 03:01 AM .. 12/12/2009 02:54 AM 6,463 FPC.CFG 12/12/2009 02:31 AM 152 TEST-RECORD-TYPE.PAS 12/12/2009 12:51 AM 48 X-FPC.BAT 3 File(s) 6,663 bytes Total Files Listed: 3 File(s) 6,663 bytes 5 Dir(s) 13,850,845,184 bytes free ----------------------------------------------------------- { File Name : \TS\Typing\A-Record-Type.PAS } Type Values = record A : Integer ; B : Real ; { X : Integer ; Y : Boolean ; } End ; ----------------------------------------------------------- { File Name : \TS\Source\ProcPart.PAS } Procedure Assign_a_Value ; Var V : TypeUnit . Values ; Begin V . A := 1 ; V . B := 1.0 ; { V . X := 5 ; V . Y := True ; } Writeln ( 'V . A = ' , V . A ) ; Writeln ( 'V . B = ' , V . B ) ; { Writeln ( 'V . X = ' , V . X ) ; Writeln ( 'V . Y = ' , V . Y ) ; } End ; ----------------------------------------------------------- { File Name : \TS\Units\ProcUnit.PAS } Unit ProcUnit ; Interface Uses TypeUnit ; Procedure Assign_a_Value ; Implementation {$I \TS\Source\ProcPart.PAS } End . ----------------------------------------------------------- { File Name : \TS\Units\TypeUnit.PAS } Unit TypeUnit ; Interface {$I \TS\Typing\A-Record-Type.PAS } Implementation End . ----------------------------------------------------------- { File Name : \TW\Progs\Test-Record-Type.PAS } Program Test_Record_Type ; Uses ProcUnit ; Begin Assign_a_Value ; End . ----------------------------------------------------------- # { File Name : \TW\Progs\FPC.CFG } # # Config file generated by fpcmkcfg on 5/16/2009 - 18:35:37 # Example fpc.cfg for Free Pascal Compiler # # ---------------------- # Defines (preprocessor) # ---------------------- # # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed # # -d is the same as #DEFINE # -u is the same as #UNDEF # # # Some examples (for switches see below, and the -? helppages) # # Try compiling with the -dRELEASE or -dDEBUG on the commandline # -dRELEASE # For a release compile with optimizes and strip debuginfo #IFDEF RELEASE -O2 -Xs #WRITE Compiling Release Version #ENDIF # For a debug version compile with debuginfo and all codegeneration checks on #IFDEF DEBUG -glh -Crtoi #WRITE Compiling Debug Version #ENDIF # ---------------- # Parsing switches # ---------------- # Pascal language mode # -Mfpc free pascal dialect (default) # -Mobjfpc switch some Delphi 2 extensions on # -Mdelphi tries to be Delphi compatible # -Mtp tries to be TP/BP 7.0 compatible # -Mgpc tries to be gpc compatible # -Mmacpas tries to be compatible to the macintosh pascal dialects # # Turn on Object Pascal extensions by default #-Mobjfpc -Mdelphi # Assembler reader mode # -Rdefault use default assembler # -Ratt read AT&T style assembler # -Rintel read Intel style assembler # # All assembler blocks are AT&T styled by default #-Ratt # Semantic checking # -S2 same as -Mobjfpc # -Sc supports operators like C (*=,+=,/= and -=) # -Sa include assertion code. # -Sd same as -Mdelphi # -Se compiler stops after the errors (default is 1) # -Sg allow LABEL and GOTO # -Sh Use ansistrings # -Si support C++ styled INLINE # -SI set interface style to # -SIcomCOM compatible interface (default) # -SIcorbaCORBA compatible interface # -Sm support macros like C (global) # -So same as -Mtp # -Sp same as -Mgpc # -Ss constructor name must be init (destructor must be done) # -St allow static keyword in objects # # Allow goto, inline, C-operators, C-vars -Sgic # --------------- # Code generation # --------------- # Uncomment the next line if you always want static/dynamic units by default # (can be overruled with -CD, -CS at the commandline) #-CS #-CD # Set the default heapsize to 8Mb #-Ch8000000 # Set default codegeneration checks (iocheck, overflow, range, stack) #-Ci #-Co #-Cr #-Ct # Optimizer switches for i386 compiler # -Os generate smaller code # -O1 level 1 optimizations (quick optimizations) # -O2 level 2 optimizations (-O1 + slower optimizations) # -O3 level 3 optimizations (same as -O2u) # -Oa=N set alignment to N # -OoX switch on optimalization X. # -OoNOX switch off optimalization X. # X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCSE LOOPUNROLL # -OpCPU set target processor. # CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4, PENTIUMM # ----------------------- # Set Filenames and Paths # ----------------------- # Both slashes and backslashes are allowed in paths # path to the messagefile, not necessary anymore but can be used to override # the default language #-Frc:\lazarus\fpc\2.2.4/msg/errore.msg #-Frc:\lazarus\fpc\2.2.4/msg/errorn.msg #-Frc:\lazarus\fpc\2.2.4/msg/errores.msg 3 #-Frc:\lazarus\fpc\2.2.4/msg/errord.msg #-Frc:\lazarus\fpc\2.2.4/msg/errorr.msg # path to the gcclib #-Flc:\lazarus\fpc\2.2.4/lib # searchpath for includefiles #-Fi/pp/inc;/pp/rtl/inc # searchpath for includefiles # release them only if you know what you do # because this could cause a rebuild of the runtime library # if you tell them compiler/ide to build the project (FK) #-Fic:\lazarus\fpc\2.2.4/source/rtl/inc;c:\lazarus\fpc\2.2.4/source/rtl/i386 # searchpath for objectfiles #-Foc:\lazarus\fpc\2.2.4/source/rtl/inc;c:\lazarus\fpc\2.2.4/source/rtl/i386 #IFDEF FPCAPACHE_1_13 -Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/httpd-1.3/ #ELSE #IFDEF FPCAPACHE_2_0 -Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/httpd-2.0 #ELSE -Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/httpd-2.2 #ENDIF #ENDIF # searchpath for units and other system dependent things -Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/ -Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/* -Fuc:\lazarus\fpc\2.2.4/units/$FPCTARGET/rtl # searchpath for libraries #-Flc:\lazarus\fpc\2.2.4/lib #-Fl/lib;/usr/lib # searchpath for tools -FDc:\lazarus\fpc\2.2.4/bin/$FPCTARGET # binutils prefix for cross compiling #IFDEF FPC_CROSSCOMPILING -XP$FPCTARGET- #ENDIF # ------------- # Linking # ------------- # generate always debugging information for GDB (slows down the compiling # process) # -gc generate checks for pointers # -gd use dbx # -gg use gsym # -gh use heap trace unit (for memory leak debugging) # -gl use line info unit to show more info for backtraces # -gv generates programs tracable with valgrind # -gw generate dwarf debugging info # # Enable debuginfo and use the line info unit by default #-gl # always pass an option to the linker #-k-s # Always strip debuginfo from the executable -Xs # ------------- # Miscellaneous # ------------- # Write always a nice FPC logo ;) -l # Verbosity # e : Show errors (default) d : Show debug info # w : Show warnings u : Show unit info # n : Show notes t : Show tried/used files # h : Show hints m : Show defined macros # i : Show general info p : Show compiled procedures # l : Show linenumbers c : Show conditionals # a : Show everything 0 : Show nothing (except errors) # b : Show all procedure r : Rhide/GCC compatibility mode # declarations if an error x : Executable info (Win32 only) # occurs # # Display Info, Warnings, Notes and Hints -viwn # If you don't want so much verbosity use #-vw -FiC:\TS\Source\ -FuC:\TS\Units\ ----------------------------------------------------------- Compilation Batch File : X-FPC.BAT : \lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe %1 used as X-FPC Test-Record-Type.PAS > \TZ\Test-Output-1.TXT ----------------------------------------------------------- File Name : \TZ\Test-Output-1.TXT C:\TW\Progs>\lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe Test-Record-Type.PAS Compiling Release Version Free Pascal Compiler version 2.2.4 [2009/04/26] for i386 Copyright (c) 1993-2008 by Florian Klaempfl Target OS: Win32 for i386 Compiling Test-Record-Type.PAS Compiling C:\TS\Units\PROCUNIT.PAS Compiling C:\TS\Units\TYPEUNIT.PAS Linking Test-Record-Type.exe 84 lines compiled, 0.1 sec , 28624 bytes code, 1528 bytes data ----------------------------------------------------------- Compilation Batch File : X-FPC.BAT used as : X-FPC Test-Record-Type.PAS > \TZ\Test-Output-2.TXT ----------------------------------------------------------- File Name : \TZ\Test-Output-2.TXT C:\TW\Progs>\lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe Test-Record-Type.PAS Compiling Release Version Free Pascal Compiler version 2.2.4 [2009/04/26] for i386 Copyright (c) 1993-2008 by Florian Klaempfl Target OS: Win32 for i386 Compiling Test-Record-Type.PAS Linking Test-Record-Type.exe 14 lines compiled, 0.1 sec , 28624 bytes code, 1528 bytes data ----------------------------------------------------------- The following file edited as follows : { File Name : \TS\Typing\A-Record-Type.PAS } Type Values = record A : Integer ; B : Real ; X : Integer ; Y : Boolean ; End ; ----------------------------------------------------------- The following file edited as follows : { File Name : \TS\Source\ProcPart.PAS } Procedure Assign_a_Value ; Var V : TypeUnit . Values ; Begin V . A := 1 ; V . B := 1.0 ; V . X := 5 ; V . Y := True ; Writeln ( 'V . A = ' , V . A ) ; Writeln ( 'V . B = ' , V . B ) ; { Writeln ( 'V . X = ' , V . X ) ; Writeln ( 'V . Y = ' , V . Y ) ; } End ; ----------------------------------------------------------- File Name : \TZ\Dir-List-TS-2.TXT Volume in drive C has no label. Volume Serial Number is 6CC1-77E2 Directory of C:\ts 12/12/2009 01:32 AM . 12/12/2009 01:32 AM .. 12/12/2009 03:22 AM Source 12/12/2009 03:21 AM Typing 12/12/2009 03:13 AM Units 0 File(s) 0 bytes Directory of C:\ts\Source 12/12/2009 03:22 AM . 12/12/2009 03:22 AM .. 12/12/2009 02:56 AM 355 PROCPART.BAK 12/12/2009 03:22 AM 349 PROCPART.PAS 2 File(s) 704 bytes Directory of C:\ts\Typing 12/12/2009 03:21 AM . 12/12/2009 03:21 AM .. 12/12/2009 02:56 AM 217 A-RECORD-TYPE.BAK 12/12/2009 03:21 AM 217 A-RECORD-TYPE.PAS 2 File(s) 434 bytes Directory of C:\ts\Units 12/12/2009 03:13 AM . 12/12/2009 03:13 AM .. 12/12/2009 03:13 AM 1,561 PROCUNIT.o 12/12/2009 02:30 AM 199 PROCUNIT.PAS 12/12/2009 03:13 AM 878 PROCUNIT.ppu 12/12/2009 03:13 AM 982 TYPEUNIT.o 12/12/2009 02:31 AM 148 TYPEUNIT.PAS 12/12/2009 03:13 AM 788 TYPEUNIT.ppu 6 File(s) 4,556 bytes Total Files Listed: 10 File(s) 5,694 bytes 11 Dir(s) 13,750,067,200 bytes free ----------------------------------------------------------- File Name : \TZ\Dir-List-TW-2.TXT Volume in drive C has no label. Volume Serial Number is 6CC1-77E2 Directory of C:\tw 12/12/2009 01:09 AM . 12/12/2009 01:09 AM .. 12/12/2009 03:13 AM Progs 0 File(s) 0 bytes Directory of C:\tw\Progs 12/12/2009 03:13 AM . 12/12/2009 03:13 AM .. 12/12/2009 02:54 AM 6,463 FPC.CFG 12/12/2009 03:19 AM 32,832 Test-Record-Type.exe 12/12/2009 03:19 AM 2,273 Test-Record-Type.o 12/12/2009 02:31 AM 152 TEST-RECORD-TYPE.PAS 12/12/2009 12:51 AM 48 X-FPC.BAT 5 File(s) 41,768 bytes Total Files Listed: 5 File(s) 41,768 bytes 5 Dir(s) 13,750,067,200 bytes free ----------------------------------------------------------- Compilation Batch File : X-FPC.BAT used as : X-FPC Test-Record-Type.PAS > \TZ\Test-Output-3.TXT ----------------------------------------------------------- File Name : \TZ\Test-Output-3.TXT C:\TW\Progs>\lazarus\fpc\2.2.4\bin\i386-win32\fpc.exe Test-Record-Type.PAS Compiling Release Version Free Pascal Compiler version 2.2.4 [2009/04/26] for i386 Copyright (c) 1993-2008 by Florian Klaempfl Target OS: Win32 for i386 Compiling Test-Record-Type.PAS Compiling C:\TS\Units\PROCUNIT.PAS PROCPART.PAS(13,5) Error: Unknown record field identifier "X" PROCPART.PAS(14,5) Error: Unknown record field identifier "Y" PROCUNIT.PAS(19) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted Error: C:\lazarus\fpc\2.2.4\bin\i386-win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled) -----------------------------------------------------------