[comp.lang.pascal] TP4.0 strangness

marcos@caus-dp.UUCP (Marcos R. Della) (12/11/87)

Here is a fragment of what I'm having problems with...


TYPE  st = string[255];
      mn_l = ^st;
...

      if i < active^.menu then
         begin
            gotoxy(1,1);
            insline;
	    WRITE(mn_l^);
	    active^.menu := i
	 end
   end;
...

and I am getting an:
Error 113: Error in statment
with the cursor on the W in WRITE. I have tried commenting out both the
statments before and after the WRITE with WRITE being the error every time.
When I changed it to WRITELN, it worked fine, but the WRITE statment bombs
during compilation every time... Any ideas?

I can fix it by using other changes, but this is the most efficient in the
case and its a problem that I'd like to know about...

Oh yea, this code works fine under TP3.0

Marcos Della

-- 
...!csustan ->!polyslo!caus-dp!marcos		    | Whatever I said doesn't
...!sdsu ---/	Marcos R. Della			    | mean diddly as I forgot
...!csun --/	Smail:PO Box 8104 SLO,CA 93403-8104 | it even before finishing
...!dmsd -/	Tele: (805) 544-4900		    | typing it all out!!! :-)

marty@uw-june.UUCP (Marty Sirkin) (12/12/87)

In article <328@caus-dp.UUCP>, marcos@caus-dp.UUCP (Marcos R. Della) writes:

> TYPE  st = string[255];
>       mn_l = ^st;
> ...
> 
>       if i < active^.menu then
>          begin
>             gotoxy(1,1);
>             insline;
> 	    WRITE(mn_l^);
>
> and I am getting an:
> Error 113: Error in statment

  Even with typing in the code you gave in 4.0 I couldn't get it to generate
an error 113!  Sigh.  I could get it to have errors, though, for the
following reason.  Assuming that you "USES" crt (for gotoxy et al), there is
still a problem in trying to write out "mn_l^".  After all, it is NOT a VAR,
but a TYPE!!!  I'm assuming that this was an error in typing.  As it is
written you will always get a compiler error.  When I change it to being a
VAR, the program compiles just fine...

    Hopefully someone else will post something helpful.  If not, why don't
you E-mail me a complete listing of the procedure as is.  Maybe something
will show up there.

						Marty Sirkin.

P.S.  You no longer need to define:   string[255].  It's covered by the
reserved type "string".

ralf@B.GP.CS.CMU.EDU (Ralf Brown) (12/12/87)

In article <3802@uw-june.UUCP> marty@uw-june.UUCP (Marty Sirkin) writes:
}In article <328@caus-dp.UUCP>, marcos@caus-dp.UUCP (Marcos R. Della) writes:
[about an error and inability to duplicate it]
}						Marty Sirkin.
}
What revision do you have?  The third character in the serial number indicates
the revision.  It is possible that the error occurs with revision A but not
with revision B (11-17-87 datestamp).

-- 
{harvard,uunet,ucbvax}!b.gp.cs.cmu.edu!ralf -=-=- AT&T: (412)268-3053 (school) 
ARPA: RALF@B.GP.CS.CMU.EDU |"Tolerance means excusing the mistakes others make.
FIDO: Ralf Brown at 129/31 | Tact means not noticing them." --Arthur Schnitzler
BITnet: RALF%B.GP.CS.CMU.EDU@CMUCCVMA -=-=- DISCLAIMER? I claimed something?

marty@uw-june.UUCP (Marty Sirkin) (12/12/87)

In article <497@PT.CS.CMU.EDU>, ralf@B.GP.CS.CMU.EDU (Ralf Brown) writes:
> [about an error and inability to duplicate it]
> What revision do you have? The third character in the serial number indicates
> the revision.  It is possible that the error occurs with revision A but not
> with revision B (11-17-87 datestamp).

Nope.  I ordered TP 4.0 ages before it was out, and received a copy right
after it was shipped.  And the serial number (3rd character) is an "A".  And
the program still works just fine (provided that you make the type a var
to correct that error).  It must be something else...

						Marty Sirkin