- ReadStore

From: [at]} <Gérard>
Date: Sat, 02 Sep 2006 22:40:50 +0200

----boundary-LibPST-iamunique-1382875695_-_-
Content-type: text/plain

Douglas G. Danforth a crit :
> Folks,
> Subject: Stores
>
> I am getting an error I can not interpret.
> I believe I have done all of this before but
> can not remember what I did then.
>
> Here is a chunk of code for which I get the warning:
> "type is not identical with that of formal VAR-, IN- or OUT -parameter"
>
> Notice that there is no complaint in writing the store only in reading it.
>
> -Doug
Hello Doug,

You must get parameter compatibility between Bits and Stores.Store when
calling r.ReadStore(bits).

An actual parameter a of type Ta is parameter compatible with a formal
parameter f of type Tf if
1. Tf and Ta are equal types, or
2. f is a value parameter and Ta is assignment compatible with Tf, or
3. f is an IN or VAR parameter and Tf and Ta are record types and Ta is
an extension of Tf.

In your case, you have:
   
    PROCEDURE (VAR rd: Reader) ReadStore (OUT x: Store)

so f (or x here) is not a value parameter and not an IN or VAR
parameter. So only case 1 applies, and is not verified by your code. You
should define:

    VAR s: Stores.Store;

and write:
   
    r.ReadStore(s); bits := s(Bits);

Cheers.

Grard

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy



----boundary-LibPST-iamunique-1382875695_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBEb3VnbGFzIEcuIERhbmZvcnRo
IGEgXCdlOWNyaXQgOlxwYXINCj4gRm9sa3MsXHBhcg0KPiBTdWJqZWN0OiBTdG9yZXNccGFyDQo+
XHBhcg0KPiBJIGFtIGdldHRpbmcgYW4gZXJyb3IgSSBjYW4gbm90IGludGVycHJldC5ccGFyDQo+
IEkgYmVsaWV2ZSBJIGhhdmUgZG9uZSBhbGwgb2YgdGhpcyBiZWZvcmUgYnV0XHBhcg0KPiBjYW4g
bm90IHJlbWVtYmVyIHdoYXQgSSBkaWQgdGhlbi5ccGFyDQo+XHBhcg0KPiBIZXJlIGlzIGEgY2h1
bmsgb2YgY29kZSBmb3Igd2hpY2ggSSBnZXQgdGhlIHdhcm5pbmc6XHBhcg0KPiAidHlwZSBpcyBu
b3QgaWRlbnRpY2FsIHdpdGggdGhhdCBvZiBmb3JtYWwgVkFSLSwgSU4tIG9yIE9VVCAtcGFyYW1l
dGVyIlxwYXINCj5ccGFyDQo+IE5vdGljZSB0aGF0IHRoZXJlIGlzIG5vIGNvbXBsYWludCBpbiB3
cml0aW5nIHRoZSBzdG9yZSBvbmx5IGluIHJlYWRpbmcgaXQuXHBhcg0KPlxwYXINCj4gLURvdWdc
cGFyDQpIZWxsbyBEb3VnLFxwYXINClxwYXINCllvdSBtdXN0IGdldCBwYXJhbWV0ZXIgY29tcGF0
aWJpbGl0eSBiZXR3ZWVuIEJpdHMgYW5kIFN0b3Jlcy5TdG9yZSB3aGVuIFxwYXINCmNhbGxpbmcg
ci5SZWFkU3RvcmUoYml0cykuXHBhcg0KXHBhcg0KQW4gYWN0dWFsIHBhcmFtZXRlciBhIG9mIHR5
cGUgVGEgaXMgcGFyYW1ldGVyIGNvbXBhdGlibGUgd2l0aCBhIGZvcm1hbCBccGFyDQpwYXJhbWV0
ZXIgZiBvZiB0eXBlIFRmIGlmXHBhcg0KMS4gIFRmIGFuZCBUYSBhcmUgZXF1YWwgdHlwZXMsIG9y
XHBhcg0KMi4gIGYgaXMgYSB2YWx1ZSBwYXJhbWV0ZXIgYW5kIFRhIGlzIGFzc2lnbm1lbnQgY29t
cGF0aWJsZSB3aXRoIFRmLCBvclxwYXINCjMuICBmIGlzIGFuIElOIG9yIFZBUiBwYXJhbWV0ZXIg
YW5kIFRmIGFuZCBUYSBhcmUgcmVjb3JkIHR5cGVzIGFuZCBUYSBpcyBccGFyDQphbiBleHRlbnNp
b24gb2YgVGYuXHBhcg0KXHBhcg0KSW4geW91ciBjYXNlLCB5b3UgaGF2ZTpccGFyDQogICBccGFy
DQogICAgUFJPQ0VEVVJFIChWQVIgcmQ6IFJlYWRlcikgUmVhZFN0b3JlIChPVVQgeDogU3RvcmUp
XHBhcg0KXHBhcg0Kc28gZiAob3IgeCBoZXJlKSBpcyBub3QgYSB2YWx1ZSBwYXJhbWV0ZXIgYW5k
IG5vdCBhbiBJTiBvciBWQVIgXHBhcg0KcGFyYW1ldGVyLiBTbyBvbmx5IGNhc2UgMSBhcHBsaWVz
LCBhbmQgaXMgbm90IHZlcmlmaWVkIGJ5IHlvdXIgY29kZS4gWW91IFxwYXINCnNob3VsZCBkZWZp
bmU6XHBhcg0KXHBhcg0KICAgIFZBUiBzOiBTdG9yZXMuU3RvcmU7XHBhcg0KXHBhcg0KYW5kIHdy
aXRlOlxwYXINCiAgIFxwYXINCiAgICByLlJlYWRTdG9yZShzKTsgYml0cyA6PSBzKEJpdHMpO1xw

YXINClxwYXINCkNoZWVycy5ccGFyDQpccGFyDQpHXCdlOXJhcmRccGFyDQpccGFyDQotLS0gQmxh
Y2tCb3hccGFyDQotLS0gc2VuZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8gYmxhY2ti
b3hAb2Jlcm9uLmNofX0A4xNh2AAAABoAAA=


----boundary-LibPST-iamunique-1382875695_-_---
Received on Sat Sep 02 2006 - 22:40:50 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:27:49 UTC