Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2004-09

help please

2 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Janos Krizan

Dear Sirs,

It is so complicated. I am not subscribed but I need help anyway in order to get started.

I have dosw321010full.zip version of free Pascal and I can not make it work. I suspect that it has to do something with properly configuring it.

This archive is containing following files

INSTALL DAT 11,531 06-27-03 3:39p install.dat CWSDPMI EXE 20,473 06-05-03 5:56p cwsdpmi.exe INSTALL EXE 258,560 06-27-03 3:39p install.exe README TXT 12,602 06-27-03 12:45a readme.txt WHATSNEW TXT 14,331 06-27-03 1:16a whatsnew.txt ASLDGO32 ZIP 566,054 06-05-03 5:56p asldgo32.zip ASLDW32 ZIP 954,160 06-05-03 5:56p asldw32.zip BASEGO32 ZIP 1,486,226 06-27-03 4:11p basego32.zip BASESRC ZIP 49,972 06-27-03 1:26a basesrc.zip BASEW32 ZIP 2,357,663 06-27-03 3:38p basew32.zip COMPIL~1 ZIP 1,605,864 06-27-03 1:38a compilersrc.zip DEMO ZIP 131,967 06-05-03 5:56p demo.zip DOC-HTM ZIP 6,758,369 06-05-03 5:56p doc-htm.zip DOC-HTML ZIP 6,783,438 06-05-03 5:56p doc-html.zip DOCS-PDF ZIP 3,458,556 06-05-03 5:56p docs-pdf.zip DOCSRC ZIP 2,140,198 06-05-03 5:47p docsrc.zip FCLSRC ZIP 664,812 06-27-03 1:45a fclsrc.zip GDBGO32 ZIP 520,337 06-05-03 5:56p gdbgo32.zip GDBW32 ZIP 779,273 06-05-03 5:56p gdbw32.zip IDEGO32 ZIP 1,150,810 06-27-03 4:12p idego32.zip IDESRC ZIP 456,815 06-27-03 1:55a idesrc.zip IDEW32 ZIP 1,132,593 06-27-03 3:39p idew32.zip INSTAL~1 ZIP 31,321 06-27-03 1:55a installersrc.zip MAKEGO32 ZIP 865,573 06-05-03 5:56p makego32.zip MAKEW32 ZIP 421,337 06-05-03 5:56p makew32.zip RTLSRC ZIP 1,788,185 06-27-03 2:22a rtlsrc.zip UCDROM~1 ZIP 35,356 06-27-03 2:23a ucdromsrc.zip UCDROM~2 ZIP 44,144 06-27-03 3:39p ucdromw32.zip UFCLGO32 ZIP 1,334,702 06-27-03 4:14p ufclgo32.zip UFCLW32 ZIP 1,431,498 06-27-03 3:41p ufclw32.zip UFPGTK~1 ZIP 147,669 06-27-03 2:26a ufpgtksrc.zip UFPGTK~2 ZIP 372,691 06-27-03 3:42p ufpgtkw32.zip UFTPAP~1 ZIP 14,977 06-27-03 2:26a uftpapisrc.zip UGDBGO32 ZIP 24,517 06-27-03 4:14p ugdbgo32.zip UGDBIN~1 ZIP 53,897 06-27-03 2:27a ugdbintsrc.zip UGDBIN~2 ZIP 29,173 06-27-03 3:42p ugdbintw32.zip UGTKSRC ZIP 279,447 06-27-03 2:33a ugtksrc.zip UGTKW32 ZIP 433,669 06-27-03 3:42p ugtkw32.zip UHWVID~1 ZIP 11,023 06-27-03 2:33a uhwvideosrc.zip UIBASE~1 ZIP 59,559 06-27-03 2:35a uibasesrc.zip UIBASE~2 ZIP 86,717 06-27-03 3:42p uibasew32.zip UIMLIB~1 ZIP 15,623 06-27-03 2:35a uimlibsrc.zip UINETSRC ZIP 13,692 06-27-03 2:35a uinetsrc.zip UINETW32 ZIP 12,830 06-27-03 3:42p uinetw32.zip ULIBPN~1 ZIP 13,450 06-27-03 2:36a ulibpngsrc.zip UMMSYS~1 ZIP 23,147 06-27-03 2:36a ummsystemsrc.zip UMMSYS~2 ZIP 53,506 06-27-03 3:42p ummsystemw32.zip UMMTKSRC ZIP 101,101 06-27-03 2:39a ummtksrc.zip UMYSQL~1 ZIP 39,366 06-27-03 2:40a umysqlsrc.zip UMYSQL~2 ZIP 19,788 06-27-03 3:42p umysqlw32.zip UNETDB~1 ZIP 21,737 06-27-03 2:40a unetdbsrc.zip UNETDB~2 ZIP 28,988 06-27-03 3:43p unetdbw32.zip UODBCSRC ZIP 27,719 06-27-03 2:41a uodbcsrc.zip UODBCW32 ZIP 24,987 06-27-03 3:43p uodbcw32.zip UOPENG~1 ZIP 98,022 06-27-03 2:43a uopenglsrc.zip UOPENG~2 ZIP 360,146 06-27-03 3:43p uopenglw32.zip UPASZL~1 ZIP 109,045 06-27-03 2:46a upaszlibsrc.zip UPASZL~2 ZIP 124,013 06-27-03 3:43p upaszlibw32.zip UPZLGO32 ZIP 125,765 06-27-03 4:15p upzlgo32.zip UREGEX~1 ZIP 12,423 06-27-03 2:46a uregexprsrc.zip UREGEX~2 ZIP 9,156 06-27-03 3:43p uregexprw32.zip UREGGO32 ZIP 9,353 06-27-03 4:15p ureggo32.zip UREXXSRC ZIP 25,528 06-27-03 2:47a urexxsrc.zip USQLIT~1 ZIP 13,581 06-27-03 2:47a usqlitesrc.zip USQLIT~2 ZIP 7,250 06-27-03 3:43p usqlitew32.zip UTCLSRC ZIP 21,879 06-27-03 2:48a utclsrc.zip UTCLW32 ZIP 25,455 06-27-03 3:43p utclw32.zip UTILGO32 ZIP 887,050 06-27-03 4:16p utilgo32.zip UTILSSRC ZIP 648,270 06-27-03 2:55a utilssrc.zip UTILW32 ZIP 533,270 06-27-03 3:44p utilw32.zip UUNZIP~1 ZIP 37,334 06-27-03 2:55a uunzipsrc.zip UUNZIP~2 ZIP 44,433 06-27-03 3:44p uunzipw32.zip UX11SRC ZIP 33,271 06-27-03 2:55a ux11src.zip UZIPGO32 ZIP 46,980 06-27-03 4:16p uzipgo32.zip UZLIBSRC ZIP 10,111 06-27-03 2:56a uzlibsrc.zip UZLIBW32 ZIP 8,288 06-27-03 3:44p uzlibw32.zip 76 file(s) 42,366,616 bytes

after running install I got following situation

Directory of C:\pp

. <DIR> 09-23-04 7:56a .
.. <DIR> 09-23-04 7:56a ..
DOC <DIR> 09-23-04 7:56a doc
BIN <DIR> 09-23-04 7:56a bin
MSG <DIR> 09-23-04 7:56a msg
UNITS <DIR> 09-23-04 7:56a units
EXAMPLES <DIR> 09-23-04 7:56a examples DEMO <DIR> 09-23-04 8:00a demo
SOURCE <DIR> 09-23-04 8:00a source 0 file(s) 0 bytes

My autoexec.bat for windows 98 has following statements

@SET PATH=%PATH%;C:\PP\BIN\GO32V2
@SET PATH=%PATH%;C:\PP\BIN\WIN32
@path C:\WINDOWS;C:\WINDOWS\COMMAND

I can not start program on any other way except directly going into the folder and typing command fp.exe

C:\pp\bin\win32\fp.exe
Or
C:\pp\bin\go32v2\fp.exe

Test program hello work but when I tried something from the manuals such as

Begin
Writeln ( ' Cur rent Di r e c t o r y i s : ' , GetCur rentDi r ) ;
End.

it cracked reporting

+-[_]------- Compiling (Debug mode) ------------
¦
¦ Main file: c:\temp\pisi.pas
¦ Failed to compile...
¦
¦ Target: DOS (GO32V2) Line number: 2
¦ Free memory: 1848K Total lines: 1
¦ Total errors: 2
¦
¦ Compile failed
+------------------------------------------------

and

-[_]------------------------- Compiler Messages ------------------------3-[ ]
 pisi.pas(2,49) Error: Identifier not found GETCUR
 pisi.pas(2,56) Fatal: Syntax error, ) expected but identifier RENTDI found

I suspect that it has to do something with properly configuring the program so if you could be so kind to help me how.

-------------------------------
Also when I tried that hello program from dos it did not worked giving me following report

Load error: no DPMI - Get csdpmi*b.zip

It does work fine in MS - DOS prompt of windows 98 I believed since it was compiled from Target: DOS (GO32V2) that it will wotk under DOS. -------------------------------

My current configuration is like this

-[_]------ SwitchesMode ----------+
¦
Switches Mode ¦
( ) Normal ¦

   (*) Debug                      ¦
   ( ) Release                    ¦
                                  ¦
          OK   _     Cancel _     ¦
        ________     ________     ¦

----------------------------------+

+-[_]--------------------- Compiler Switches --------------------------+ ¦ +--------+-----------------+---------+---------+-----------+ ¦ ¦ ¦ Syntax ¦ Code generation ¦ Verbose ¦ Browser ¦ Assembler ¦ ¦ ¦ ¦ +---------------------------------------------------------+ ¦ ¦ ¦ Syntax Switches ¦ ¦ ¦ ¦ [ ] Delphi 2 extensions on [ ] Global C macros ¦ ¦ ¦ ¦ [ ] C-like operators [ ] TP/BP 7.0 compatibility ¦ ¦ ¦ ¦ [ ] Stop after first error [ ] Delphi compatibility ¦ ¦ ¦ ¦ [X] Allow LABEL and GOTO [ ] Allow STATIC in objects ¦ ¦ ¦ ¦ [ ] C++ styled inline ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +------------------------------------------------------------------+ ¦ ¦ Conditional defines ¦ ¦ [ ] ¦ ¦ ¦ ¦ OK _ Cancel _ ¦ ¦ ________ ________ ¦

-[_]--------------------- Compiler Switches ------------------------- +--------+-----------------+---------+---------+-----------+ ¦ Syntax ¦ Code generation ¦ Verbose ¦ Browser ¦ Assembler ¦ +--------+ +---------------------------------------+ ¦ Run-time checks Optimizations ¦ ¦ [X] Range checking (*) Generate faster code ¦ ¦ [ ] Stack checking ( ) Generate smaller code ¦ ¦ [X] I/O checking [ ] Use register-variables ¦ ¦ [X] Integer overflow checking [ ] Uncertain optimizations ¦ ¦ [ ] Level 1 optimizations ¦ ¦ Target processor [ ] Level 2 optimizations ¦ ¦ ( ) i386/i486 ¦ ¦ (*) Pentium/PentiumMMX (tm) ¦ ¦ ( ) PPro/PII/c6x86/K6 (tm) ¦ +------------------------------------------------------------------+ Conditional defines
[ ]

OK _ Cancel _
________ ________

+-[_]--------------------- Compiler Switches -------------------------- ¦ +--------+-----------------+---------+---------+-----------+ ¦ ¦ Syntax ¦ Code generation ¦ Verbose ¦ Browser ¦ Assembler ¦ ¦ +--------------------------+ +-----------------------------+ ¦ ¦ Verbose Switches ¦ ¦ ¦ [ ] Warnings ¦ ¦ ¦ [ ] Notes ¦ ¦ ¦ [ ] Hints ¦ ¦ ¦ [ ] General Info ¦ ¦ ¦ [ ] Used,tried info ¦ ¦ ¦ [ ] All ¦ ¦ ¦ [ ] Show all Procedures if error ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +------------------------------------------------------------------+ ¦ Conditional defines
¦ [ ] ¦
¦ OK _ Cancel _ ¦ ________ ________ +----------------------------------------------------------------------

-[_]--------------------- Compiler Switches -------------------------- +--------+-----------------+---------+---------+-----------+ ¦ Syntax ¦ Code generation ¦ Verbose ¦ Browser ¦ Assembler ¦ +------------------------------------+ +-------------------+ ¦ Browser ¦ ¦ (*) No browser ¦ ¦ ( ) Only Global browser ¦ ¦ ( ) Local and global browser ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +------------------------------------------------------------------+ Conditional defines
[ ]

OK _ Cancel _
________ ________

+-[_]--------------------- Compiler Switches -------------------------- ¦ +--------+-----------------+---------+---------+-----------+ ¦ ¦ Syntax ¦ Code generation ¦ Verbose ¦ Browser ¦ Assembler ¦ ¦ +----------------------------------------------+ +-------+ ¦ ¦ Assembler reader Assembler output ¦ ¦ ¦ ( ) Direct assembler (*) Use default output ¦ ¦ ¦ (*) AT&T style assembler ( ) Use GNU as ¦ ¦ ¦ ( ) Intel style assembler ( ) Use NASM coff ¦ ¦ ¦ ( ) Use NASM elf ¦ ¦ ¦ Assembler info ( ) Use NASM obj ¦ ¦ ¦ [ ] List source ( ) Use MASM ¦ ¦ ¦ [ ] list register allocation ( ) Use TASM ¦ ¦ ¦ [ ] list temp allocation ( ) Use coff ¦ ¦ ¦ ( ) Use pecoff ¦ ¦ +------------------------------------------------------------------+ ¦ Conditional defines
¦ [ ] ¦
¦ OK _ Cancel _ ¦ ________ ________

-[_]-------- Memory sizes ------------+
¦
Stack size 131072 ¦
¦
Heap size 2097152 ¦
¦
OK _ Cancel _ ¦
________ ________ ¦
--------------------------------------+

-[_]------------------------ Linker ----------------------------+ Linking stage Preferred library type ¦ [ ] Call linker after (*) Target default ¦ ( ) Link to Dynamic librarie ¦
[ ] Only link to static libr ( ) Link to Static libraries ¦ ( ) Link to Smart libraries ¦
¦
¦
OK _ Cancel _ ¦
________ ________ ¦ ----------------------------------------------------------------+

-[_]---------- Browsing/Debugging/Profiling -------------

   Debugging information
   [ ] Strip all debug symbols from executable
   ( ) Skip debug information generation
   (*) Generate debug symbol information
   ( ) Generate also backtrace line information
   Profiling Switches
   (*) No profile information
   ( ) Generate profile code for gprof
   Additional compiler args
                                                     [ ]
                OK   _                 Cancel _
              ________                 ________

-[_]-------------------- Directories -------------------------+ ¦
Cross tools directory ¦ ¦
EXE & PPU directories ¦ ¦
Object directories ¦ ¦
Library directories ¦ ¦
Include directories ¦ ¦
Unit directories c:\pp\units\$TARGET;c:\pp\units\$TARGET\*;c:\pp\units\$TARGET\rtl ¦ ¦
OK _ Cancel _ ¦
________ ________ ¦
--------------------------------------------------------------+

+-[_]-------------- Browser Options -------------------+ ¦ ¦ ¦ Symbols ¦ ¦ [ ] Labels [ ] Variables ¦ ¦ [ ] Constants [ ] Procedures ¦ ¦ [ ] Types [ ] Inherited ¦ ¦ ¦ ¦ Sub-browsing Preferred pane ¦ ¦ (*) New browser (*) Scope ¦ ¦ ( ) Replace current ( ) Reference ¦ ¦ ¦ ¦ Display ¦ ¦ [ ] Qualified symbols [ ] Sort always ¦ ¦ ¦ ¦ ¦ ¦ OK _ Cancel _ ¦ ¦ ________ ________ ¦ +------------------------------------------------------+

-[_]-------------- Tools -------------------+
¦
Program titles ¦
- OK _ ¦
_ ________ ¦
_ Edit _ ¦
_ ________ ¦
_ New _ ¦
_ ________ ¦
_ Delete _ ¦
_ ________ ¦
_ Cancel _ ¦
_ ________ ¦
- ¦
¦
--------------------------------------------+

I hope You can help me. Searching through help files and manuals in PDF format I found many routines (sub programs, functions etc) but I obviously do not know how to make program see them and include them into the compilation process of main program.

Where are (what is the required path for) Cross tools directory, EXE & PPU directories , Object directories ,Library directories, Include directories and Unit directories?

I am not experienced programmer so that I could know just by looking at the files which belongs where.

Yours sincerely

Janos
http:\\krizsan.tripod.com

Thomas Schatzl
to Janos Krizan

Hello,

Dear Sirs, It is so complicated. I am not subscribed but I need help anyway in order to get started.

[A copy of this answer is cc'ed to the original From: address]

I have dosw321010full.zip version of free Pascal and I can not make it work. I suspect that it has to do something with properly configuring it.

[... file list snipped ...]

Show quoted text 6 lines
My autoexec.bat for windows 98 has following statements @SET PATH=%PATH%;C:\PP\BIN\GO32V2 @SET PATH=%PATH%;C:\PP\BIN\WIN32 @path C:\WINDOWS;C:\WINDOWS\COMMAND

The order of the path statements is significant. With the first two lines you add the required paths for fpc, but with the third you reset it to C:\WINDOWS; etc. again.

Just move the first two lines after the third and it should solve some of below problems.

Show quoted text 7 lines
Test program hello work but when I tried something from the manuals such as Begin Writeln ( ' Cur rent Di r e c t o r y i s : ' , GetCur rentDi r ) ; End. it cracked reporting

[...]

Show quoted text 8 lines
and pisi.pas(2,49) Error: Identifier not found GETCUR pisi.pas(2,56) Fatal: Syntax error, ) expected but identifier RENTDI found I suspect that it has to do something with properly configuring the program so if you could be so kind to help me how.

The problem is that the method GetCurrentDir() can't be found by the compiler - it seems that you didn't copy the complete program from the docs.

This method is included in a library ("unit" in Pascal terms) called "sysutils" - you have to tell the compiler to look in this library for unknown methods too. E.g. add a "uses sysutils;" directive at the top of your program.

This program in particular should look like this to compile:

uses
	sysutils;
Begin
	Writeln('Current Directory is: ' , GetCurrentDir);
End.
Show quoted text 8 lines
------------------------------- Also when I tried that hello program from dos it did not worked giving me following report Load error: no DPMI - Get csdpmi*b.zip It does work fine in MS - DOS prompt of windows 98 I believed since it was compiled from Target: DOS (GO32V2) that it will work under DOS.

FPC creates so-called protected mode DOS programs (GO32V2). These programs need a DPMI extender (loader) which is included in a file called csdpmi*b.zip, in particular the file cwsdpmi.exe from the unzipped FPC distribution.

It is used to switch to and from protected mode of the CPU under plain DOS; Windows by default provides such an extender for its DOS boxes so you don't need it there.

That also means that you need to include cwsdpmi.exe (or csdpmi*b.zip, see google) to every GO32V2 program you give away.

I hope You can help me. Searching through help files and manuals in PDFformat I found many routines (sub programs, functions etc) but I obviously do not know how to make program see them and include them into the compilation process of main program.

Similar to the GetCurrentDir() case you always have to tell the compiler where (in which "unit") it should look for these methods. Add the name of the library which contains the method you want to use to the uses clause at the top of your program.

Where are (what is the required path for) Cross tools directory, EXE & PPU directories , Object directories ,Library directories, Include directories and Unit directories?

Cross tools directory: in this field you enter the path to the tools used for cross platform development, that means developing programs for another (usually incompatible to the one you develop on) platform. For example developing Linux programs on the Windows platform. This is usually not needed.

EXE & PPU directory: I think this is the directory where your compiled executables (EXE) and units (PPU) are written to instead of the current directory. Helps keeping the source directories free from binaries.

Object directory: This path is used when looking for files that need to be linked in. Used e.g. in the case you want to use a module written in C and use it in FPC. Not needed in case you do Pascal-only development.

Library directory: These are additional directories you can pass to the linker where he searches for libraries then. Not needed in case you do Pascal-only development.

Include directories: The compiler searches in this directories if you include a file via the $I (or $INCLUDE) directive in addition to the current directory.

Unit directories: Directories (in addition to the current directory) where the compiler searches for compiled units you added to your uses clause.

I am not experienced programmer so that I could know just by looking atthe files which belongs where.

Hope this helps,
Thomas