Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!uflorida!beach.cis.ufl.edu!dor From: dor@beach.cis.ufl.edu (Douglas R. Oosting) Newsgroups: comp.lang.pascal Subject: VMS problem Keywords: fileio, VMS, help Message-ID: <21704@uflorida.cis.ufl.EDU> Date: 10 Jan 90 17:35:04 GMT Sender: news@uflorida.cis.ufl.EDU Reply-To: dor@beach.cis.ufl.edu (Douglas R. Oosting) Followup-To: comp.lang.pascal Organization: UF CIS Department Lines: 38 Im having a problem getting a filesharing module to work properly under VMS 5.1, using their pascal compiler (3.9, I think) Code chunk follows: PROCEDURE WriteInfo (TheInfo : InfoRecPtr); (* writes the info file to disk *) BEGIN REPEAT REWRITE (PInfo); WRITE (Pinfo, TheInfo^); UNTIL (Status(PInfo)=0); FIND (Pinfo, 1); UNLOCK (Pinfo); END; The info file mentioned is a single-record file of type InfoRec (which InfoRecPtr is a pointer to). This code loops forever without getting anywhere. I presume the status call is in error, but I dont know of any other way to check if the write was successful. The file was opened with sharing := readwrite and organization := direct... Trying to use LOCATE (Pinfo,1) and then writing it returns a nasty error about using $PUT not at EOF or some such nonsense. Im confused, and the system people on this machine aren't really pascal fluent. Can anybody shed some light on this? Mail or post replies... Thanks in advance, Doug Oosting -- Cogito ergo Spud | Douglas R. Oosting, University of Florida (I think, therefore | dor@beach.cis.ufl.edu or Pendragon@oak.circa.ufl.edu I yam...) |...{mailrus|gatech}!uflorida!beach.cis.ufl.edu!dor In the Society : Cadrys ap Dulas o Caereira, Barony of An Crosaire, Trimaris