Re: [BLACKBOX] SYSTEM.VAL, WITH, IS, and type casting
----boundary-LibPST-iamunique-315469145_-_-
Content-type: text/plain
Bernhard,
I was not trying to solve the restoring some object from disk problem
but rather considering the assignment of one type to another type.
I was taken back and had to think about the SYSTEM.VAL(BYTE, schar)
case for several minutes before I understood what OMI was doing.
It seemed backwards to me but it is not.
By writing SYSTEM.VAL(BYTE, shar) one is essentially doing
schar := byte;
and by passing the type checking mechanism.
One can write
wr.WriteStore(m);
rd.ReadStore(SYSTEM.VAL(Store, m));
which is asymmetric in the treatment of writing and reading.
I just don't like asymmetry.
-Doug
On 8/22/2011 6:03 AM, Treutwein Bernhard wrote:
Hi Doug,
it is not really clear to me, if you want to solve the hen & egg
problem when restoring some object from disk, but if this is the
case you might consider Hanspeter Mössenböcks remarks in
Chapter 9.4.6 of the third Ed. of his OOPO2 (starting on the bottom
of page 42 of http://ssw.jku.at/Research/Books/DesignPatterns.pdf).
But I am not shure since primarily you refer to Stores.Reader.ReadSChar
which isn't reading an object at all (at least I would not consider
a short character an object) ... and later you are referring to
output, which is yet another case ...
regards
--
Bernhard
----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
----boundary-LibPST-iamunique-315469145_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm
c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fQ0Ke1xmMlxmbmlsXGZjaGFyc2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0
MCBDb3VyaWVyIE5ldzt9fQ0Ke1xjb2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVl
bjBcYmx1ZTI1NTt9DQpcdWMxXHBhcmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczI0IA0Ke1wqXGh0
bWx0YWcxOSA8aHRtbD59DQp7XCpcaHRtbHRhZzIgXHBhciB9DQp7XCpcaHRtbHRhZzI0MiAgIH0N
CntcKlxodG1sdGFnMzQgPGhlYWQ+fQ0Ke1wqXGh0bWx0YWcxIFxwYXIgfQ0Ke1wqXGh0bWx0YWcy
NDEgICAgIH0NCntcKlxodG1sdGFnMSBccGFyIH0NCntcKlxodG1sdGFnMjQxICAgfQ0Ke1wqXGh0
bWx0YWc0MSA8L2hlYWQ+fQ0Ke1wqXGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDIgICB9
DQp7XCpcaHRtbHRhZzUwIDxib2R5IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPn1c
aHRtbHJ0ZiBcdmlld2tpbmQ1DQp7XCpcYmFja2dyb3VuZCB7XHNocHtcKlxzaHBpbnN0e1xzcHtc
c24gZmlsbENvbG9yfXtcc3YgMTY3NzcyMTV9fXtcc3B7XHNuIGZGaWxsZWR9e1xzdiAxfX19fX1c
aHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgfXtcKlxo
dG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBCZXJuaGFyZCwNCntcKlxodG1sdGFnMTE2IDxi
cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxo
dG1sdGFnODQgICAgIH1JIHdhcyBub3QgdHJ5aW5nIHRvIHNvbHZlIHRoZSByZXN0b3Jpbmcgc29t
ZSBvYmplY3QgZnJvbSBkaXNrDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRm
MCANCntcKlxodG1sdGFnODQgICAgIH1wcm9ibGVtDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1s
cnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0
ICAgICB9YnV0IHJhdGhlciBjb25zaWRlcmluZyB0aGUgYXNzaWdubWVudCBvZiBvbmUgdHlwZSB0
byBhbm90aGVyIHR5cGUuDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt
bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRt
bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh
ciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9SSB3YXMgdGFrZW4gYmFjayBhbmQgaGFkIHRvIHRoaW5r
IGFib3V0IHRoZSBTWVNURU0uVkFMKEJZVEUsIHNjaGFyKQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c
aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0
YWc4NCAgICAgfWNhc2UgZm9yIHNldmVyYWwgbWludXRlcyBiZWZvcmUgSSB1bmRlcnN0b29kIHdo
YXQgT01JIHdhcyBkb2luZy4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo
dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1JdCBzZWVt
ZWQgYmFja3dhcmRzIHRvIG1lIGJ1dCBpdCBpcyBub3QuDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo
dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRh
Zzg0ICAgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAg
DQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9Qnkgd3JpdGluZyBTWVNU
RU0uVkFMKEJZVEUsIHNoYXIpIG9uZSBpcyBlc3NlbnRpYWxseSBkb2luZw0Ke1wqXGh0bWx0YWcx
MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0K
e1wqXGh0bWx0YWc4NCAgICAgfXNjaGFyIDo9IGJ5dGU7DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo
dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRh
Zzg0ICAgICB9YW5kIGJ5IHBhc3NpbmcgdGhlIHR5cGUgY2hlY2tpbmcgbWVjaGFuaXNtLg0Ke1wq
XGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0
IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0
ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAg
ICAgfU9uZSBjYW4gd3JpdGUNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo
dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxo
dG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZu
YnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxy
dGYgXCdhMFxodG1scnRmMCAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0
bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntc
KlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgIHdyLldyaXRlU3RvcmUo
bSk7DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpc
aHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRtbHRhZzg0ICZuYnNw
O31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYg
XCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0
ZjAgIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxo
dG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZu
YnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwICByZC5SZWFkU3RvcmUoU1lTVEVNLlZBTChTdG9y
ZSwgbSkpOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K
e1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfXdoaWNoIGlzIGFzeW1tZXRy
aWMgaW4gdGhlIHRyZWF0bWVudCBvZiB3cml0aW5nIGFuZCByZWFkaW5nLg0Ke1wqXGh0bWx0YWcx
MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0K
e1wqXGh0bWx0YWc4NCAgICAgfUkganVzdCBkb24ndCBsaWtlIGFzeW1tZXRyeS4NCntcKlxodG1s
dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy
IH0NCntcKlxodG1sdGFnODQgICAgIH0tRG91Zw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0
ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAg
ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq
XGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJy
Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0
bWx0YWc4NCAgICAgfU9uIDgvMjIvMjAxMSA2OjAzIEFNLCBUcmV1dHdlaW4gQmVybmhhcmQgd3Jv
dGU6DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFn
ODQgICAgIH17XCpcaHRtbHRhZzcyfVxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0
YWc5NiA8YmxvY2txdW90ZVxwYXIgY2l0ZT0ibWlkOjIzOUNFQkRFRTgzRUI5NDlBNDhCNkRCODEy
QUExOUY2MDNDMzc3NDVAZXgyLnp1di51bmktbXVlbmNoZW4uZGUiXHBhciAgICAgICB0eXBlPSJj
aXRlIj59XGh0bWxydGYgXHBhcg0Ke1xodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntc
KlxodG1sdGFnMjQwICAgICAgIH0NCntcKlxodG1sdGFnMTI4IDxwcmUgd3JhcD0iIj59XGh0bWxy
dGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYwIFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxp
MzYwIEhpIERvdWcsXGxpbmUNClxsaW5lDQppdCBpcyBub3QgcmVhbGx5IGNsZWFyIHRvIG1lLCBp
ZiB5b3Ugd2FudCB0byBzb2x2ZSB0aGUgaGVuIA0Ke1wqXGh0bWx0YWc4NCAmYW1wO31caHRtbHJ0
ZiAmXGh0bWxydGYwICBlZ2cgXGxpbmUNCnByb2JsZW0gd2hlbiByZXN0b3Jpbmcgc29tZSBvYmpl
Y3QgZnJvbSBkaXNrLCBidXQgaWYgdGhpcyBpcyB0aGUgXGxpbmUNCmNhc2UgeW91IG1pZ2h0IGNv
bnNpZGVyIEhhbnNwZXRlciBNDQp7XCpcaHRtbHRhZzg0ICZvdW1sO31caHRtbHJ0ZiBcJ2Y2XGh0
bWxydGYwIHNzZW5iDQp7XCpcaHRtbHRhZzg0ICZvdW1sO31caHRtbHJ0ZiBcJ2Y2XGh0bWxydGYw
IGNrcyByZW1hcmtzIGluIFxsaW5lDQpDaGFwdGVyIDkuNC42IG9mIHRoZSB0aGlyZCBFZC4gb2Yg
aGlzIE9PUE8yIChzdGFydGluZyBvbiB0aGUgYm90dG9tIFxsaW5lDQpvZiBwYWdlIDQyIG9mIHt9
DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0
dHA6Ly9zc3cuamt1LmF0L1Jlc2VhcmNoL0Jvb2tzL0Rlc2lnblBhdHRlcm5zLnBkZiI+fVxodG1s
cnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHA6Ly9zc3cuamt1LmF0L1Jlc2Vh
cmNoL0Jvb2tzL0Rlc2lnblBhdHRlcm5zLnBkZiJ9fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYw
IGh0dHA6Ly9zc3cuamt1LmF0L1Jlc2VhcmNoL0Jvb2tzL0Rlc2lnblBhdHRlcm5zLnBkZlxodG1s
cnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0p
LlxsaW5lDQpcbGluZQ0KQnV0IEkgYW0gbm90IHNodXJlIHNpbmNlIHByaW1hcmlseSB5b3UgcmVm
ZXIgdG8gU3RvcmVzLlJlYWRlci5SZWFkU0NoYXJcbGluZQ0Kd2hpY2ggaXNuJ3QgcmVhZGluZyBh
biBvYmplY3QgYXQgYWxsIChhdCBsZWFzdCBJIHdvdWxkIG5vdCBjb25zaWRlclxsaW5lDQphIHNo
b3J0IGNoYXJhY3RlciBhbiBvYmplY3QpIC4uLiBhbmQgbGF0ZXIgeW91IGFyZSByZWZlcnJpbmcg
dG8gXGxpbmUNCm91dHB1dCwgd2hpY2ggaXMgeWV0IGFub3RoZXIgY2FzZSAuLi5cbGluZQ0KXGxp
bmUNCnJlZ2FyZHNcbGluZQ0KLS1cbGluZQ0KICBCZXJuaGFyZFxsaW5lDQpcbGluZQ0KXGxpbmUN
Ci0tLS1cbGluZQ0KVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lH
Tk9GRiBCTEFDS0JPWCIgdG8ge30NCntcKlxodG1sdGFnODQgPGEgY2xhc3M9Im1vei10eHQtbGlu
ay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOkxJU1RTRVJWQExJU1RTLk9CRVJPTi5DSCI+fVxo
dG1scnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgIm1haWx0bzpMSVNUU0VSVkBMSVNU
Uy5PQkVST04uQ0gifX17XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBMSVNUU0VSVkBMSVNUUy5P
QkVST04uQ0hcaHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRt
bHRhZzkyIDwvYT59XGxpbmUNClxwYXJcaHRtbHJ0Zn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWcx
MzYgPC9wcmU+fVxodG1scnRmIH1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBhciB9DQp7XCpc
aHRtbHRhZzI0MCAgICAgfQ0Ke1wqXGh0bWx0YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9
XHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9
DQp7XCpcaHRtbHRhZzU4IDwvYm9keT59DQp7XCpcaHRtbHRhZzIgXHBhciB9DQp7XCpcaHRtbHRh
ZzI3IDwvaHRtbD59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRtbHRhZzY0IDxwPn1caHRt
bHJ0ZiB7XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0NCntcKlxodG1sdGFnNCBc
cGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3
aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSA0K
e1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgXGh0bWxydGZ9fQAgRG9tYWlu
IC0gbGlzdA==
----boundary-LibPST-iamunique-315469145_-_---
Received on Mon Aug 22 2011 - 22:35:21 UTC
This archive was generated by hypermail 2.3.0
: Thu Sep 26 2013 - 06:30:11 UTC