[Oberon] two technical questions
thomas.frey at alumni.ethz.ch
Thu Feb 6 12:52:46 CET 2014
> have 2 questions regarding active oberon:
> 1. I suppose built-in procedure AWAIT( some condition ) checks
> periodically if condition is not met. What is the checking time period?
> Can I change it?
> It is re-evaluated everytime an EXCLUSIVE block is left. There is no
> 2. What is the proper way to write/read whole RECORDs to file at once
> through Streams.Writer Streams.Reader ?
> I tried this but it generates exceptions:
> something = RECORD
> a : ARRAY 30 OF CHAR;
> b : LONGINT;
> ArrayOfChar = POINTER TO ARRAY OF CHAR;
> PROCEDURE test;
> writer : Streams.Writer;
> reader : Streams.Reader;
> s : something;
> b : ArrayOfChar;
> ... want to write and read s to file
> b := SYSTEM.VAL(ArrayOfChar, ADDRESSOF(s) );
> writer.Bytes( b^, 0, SIZEOF(something) );
> ... and then
> reader.Bytes( b^, 0, SIZEOF(something) );
> If you persist the data I would suggest to explicitly serialize the fields
(for forward compatibility). If you need it only temporarily your solution
should be fine.
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Oberon