From: marcov@stack.nl   
      
   On 2004-11-21, Ian A White wrote:   
   > On Sun, 21 Nov 2004 13:43:01 +0000 (UTC), Marco van de Voort   
   > wrote:   
   >   
   >>FPC has these libraries. (the BP ones, not the BPW ones), and has a language   
   >>mode that is even more compatible than delphi.   
   >>   
   >>Note that Delphi is suitable for TP upgrades (the language is compat enough,   
   >>and piecewise you can find quite some units too), but it is just not ready   
   >>to go. The first step is to not make a normal application, but a "console   
   >>application".   
   >>   
   >>The good part about FPC is that it is closer to TP languagewise and   
   >>librarywise, the bad part that the Delphi and BP IDEs are still better in   
   >>quality. So it depends a bit on how addicted you are to perfect IDEs.   
   >   
   > I have downloaded and installed Free Pascal, however things have not   
   > gone that well. The units in BP required the detail of the   
   > function/procedure declaration in the interface to be detailed with only   
   > the function/procedure call in the implementation. Free Pascal required   
   > the full detail in both the interface and the implementation.   
      
   It does prefer it yes, but not require it. Use -So to enable some   
   discouraged BP compability.   
      
   > The program I wrote does a lot of checking of data entry to make sure it   
   > falls within certain ranges.   
   >   
   > Here is a snippet.   
   >   
   > repeat   
   > inputinteger(minlstdentries,2,x[9],y[9],0,tc,dc)   
   > until minlstdgames in [1..maxlstdentries_single,   
   > 1..maxlstdentries_multi];   
   >   
   > Now this snippet works perfectly in BP and BPW, but free Pascal spits   
   > the dummy.   
      
   It is hard to say, but FPC does indeed not like duplicate definitions. Case   
   statements also have this.   
      
   > ALL the variables being checked are integers, but Free Pascal aborts   
   > with the error "Type conflict between set elements". I can comment out   
   > one of the sets (either one) and the code works under Free Pascal, but   
   > as soon as I have both sets included the error is generated and the run   
   > aborts. I tried having two discrete sets with the OR operator between   
   > them, but Free Pascal reports that this operation is not implemented. I   
   > should say that BP and BPW also do not like this either.   
      
   1) try parameter -So again. (or put {$ifdef fpc} {$mode tp}{$endif} in every   
   unit)   
   2) Try adding the sets: [1..maxlstdentries_single]+[1..maxlstdentries_multi]   
      
   I'll see if I can add this to the know incompabilities page. At least the next   
   one   
   doesn't have to find out by himself.   
      
   > One of the reasons I want to get things working as a Windows Application   
   > is that the output for the run is written to a file, and in the days of   
   > DOS this was quite OK. Now with long filenames, you get the truncated   
   > filenames/folder names and trying to explain these cryptic names to   
   > someone who has only ever used Windows and the Windows interface is   
   > quite a challenge. I tell them to set everything off the root folder and   
   > limit names to 8.3, but then they are not allowed to do this and   
   > everything must be off Documents and Settings\.   
   >   
   > So you can see the need to get things working better ;-)   
      
   That's the main reasons why I abandoned the 16-bit dos/win compilers, together   
   with the need for more (and easier) memory access and OS interfacing.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|