Progression Bar

From: René A. Krywult <"René>
Date: Thu, 11 Dec 2003 11:17:06 +0100 (NFT)

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

Helmut,

Just two questions:

1) Why did you choose to only link an integer to the view? There are at least three values that are interesting for the bar, namely min, cur and max (there's a good argument for the other properties, too, but even more for these three)? cur does not have a meaning aside from min and max, IMHO.

2) For all values of max >1207 and min = 0 and cur =max-1 a TRAP 20 happens in f.DrawRect at CtlsProgress.DrawBars, and size is negative!

I believe this comes from a calculation with INTEGERs greater than MAX(INTEGER). The following code shows the problem in a simplified manner:

MODULE PrivTestI;
IMPORT Out;
PROCEDURE Do*;
VAR
 min,max,cur:INTEGER;
BEGIN
        min:= MIN(INTEGER);
        max:=MAX(INTEGER);
        cur:=max+1;
        HALT(40);
END Do;
END PrivTestI.

I would have assumed that the line cur:=max+1; would produce a trap, but instead, cur is MIN(INTEGER)!

So my next try was cur:=MAX(INTEGER)+1, which leads to a compilation error (number too large). From this I assume that type ranges are not generally cyclic in nature, and the behavior in the above code sample is simply an error of the runtime environment. IMHO, this IS problematic, since there is no easy way to check violation of type boundaries at runtime. The results are therefor unpredictable. And even if there were a way to check the violation, this would mean that in EVERY case one uses calculations, one would also have to check boundary violations. This blurs the code.

The above behavior I tested in BB 1.3, and in BB 1.4beta, which I only use for information (Since I use 1.3, I have problems using code that was designed for 1.4. I use the beta to understand the differences between 1.3 and 1.4 only).

Rene


=============René A. Krywult
-------------------------------------------------
Lege, lege, relege, ora, labora et invenies
___________________________________





-------------------------------------------
Versendet durch AonWebmail (webmail.aon.at)
--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.



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

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBIZWxtdXQsXHBhcg0KXHBhcg0K
SnVzdCB0d28gcXVlc3Rpb25zOlxwYXINClxwYXINCjEpIFdoeSBkaWQgeW91IGNob29zZSB0byBv
bmx5IGxpbmsgYW4gaW50ZWdlciB0byB0aGUgdmlldz8gVGhlcmUgYXJlIGF0IGxlYXN0IHRocmVl
IHZhbHVlcyB0aGF0IGFyZSBpbnRlcmVzdGluZyBmb3IgdGhlIGJhciwgbmFtZWx5IG1pbiwgY3Vy
IGFuZCBtYXggKHRoZXJlJ3MgYSBnb29kIGFyZ3VtZW50IGZvciB0aGUgb3RoZXIgcHJvcGVydGll
cywgdG9vLCBidXQgZXZlbiBtb3JlIGZvciB0aGVzZSB0aHJlZSk/IGN1ciBkb2VzIG5vdCBoYXZl
IGEgbWVhbmluZyBhc2lkZSBmcm9tIG1pbiBhbmQgbWF4LCBJTUhPLiBccGFyDQpccGFyDQoyKSBG
b3IgYWxsIHZhbHVlcyBvZiBtYXggPjEyMDcgYW5kIG1pbiA9IDAgYW5kIGN1ciA9bWF4LTEgYSBU
UkFQIDIwIGhhcHBlbnMgaW4gZi5EcmF3UmVjdCBhdCAgQ3Rsc1Byb2dyZXNzLkRyYXdCYXJzLCBh
bmQgc2l6ZSBpcyBuZWdhdGl2ZSFccGFyDQpccGFyDQpJIGJlbGlldmUgdGhpcyBjb21lcyBmcm9t
IGEgY2FsY3VsYXRpb24gd2l0aCBJTlRFR0VScyBncmVhdGVyIHRoYW4gTUFYKElOVEVHRVIpLiBU
aGUgZm9sbG93aW5nIGNvZGUgc2hvd3MgdGhlIHByb2JsZW0gaW4gYSBzaW1wbGlmaWVkIG1hbm5l
cjpccGFyDQpccGFyDQpNT0RVTEUgUHJpdlRlc3RJO1xwYXINCklNUE9SVCBPdXQ7XHBhcg0KUFJP
Q0VEVVJFIERvKjtccGFyDQpWQVJccGFyDQogbWluLG1heCxjdXI6SU5URUdFUjtccGFyDQpCRUdJ
TlxwYXINClx0YWIgbWluOj0gTUlOKElOVEVHRVIpO1xwYXINClx0YWIgbWF4Oj1NQVgoSU5URUdF
Uik7XHBhcg0KXHRhYiBjdXI6PW1heCsxO1xwYXINClx0YWIgSEFMVCg0MCk7XHBhcg0KRU5EIERv
O1xwYXINCkVORCBQcml2VGVzdEkuXHBhcg0KXHBhcg0KSSB3b3VsZCBoYXZlIGFzc3VtZWQgdGhh
dCB0aGUgbGluZSBjdXI6PW1heCsxOyB3b3VsZCBwcm9kdWNlIGEgdHJhcCwgYnV0IGluc3RlYWQs
IGN1ciBpcyBNSU4oSU5URUdFUikhXHBhcg0KXHBhcg0KU28gbXkgbmV4dCB0cnkgd2FzIGN1cjo9
TUFYKElOVEVHRVIpKzEsIHdoaWNoIGxlYWRzIHRvIGEgY29tcGlsYXRpb24gZXJyb3IgKG51bWJl
ciB0b28gbGFyZ2UpLiBGcm9tIHRoaXMgSSBhc3N1bWUgdGhhdCB0eXBlIHJhbmdlcyBhcmUgbm90
IGdlbmVyYWxseSBjeWNsaWMgaW4gbmF0dXJlLCBhbmQgdGhlIGJlaGF2aW9yIGluIHRoZSBhYm92
ZSBjb2RlIHNhbXBsZSBpcyBzaW1wbHkgYW4gZXJyb3Igb2YgdGhlIHJ1bnRpbWUgZW52aXJvbm1l
bnQuIElNSE8sIHRoaXMgSVMgcHJvYmxlbWF0aWMsIHNpbmNlIHRoZXJlIGlzIG5vIGVhc3kgd2F5
IHRvIGNoZWNrIHZpb2xhdGlvbiBvZiB0eXBlIGJvdW5kYXJpZXMgYXQgcnVudGltZS4gVGhlIHJl
c3VsdHMgYXJlIHRoZXJlZm9yIHVucHJlZGljdGFibGUuIEFuZCBldmVuIGlmIHRoZXJlIHdlcmUg
YSB3YXkgdG8gY2hlY2sgdGhlIHZpb2xhdGlvbiwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgaW4gRVZF
UlkgY2FzZSBvbmUgdXNlcyBjYWxjdWxhdGlvbnMsIG9uZSB3b3VsZCBhbHNvIGhhdmUgdG8gY2hl
Y2sgYm91bmRhcnkgdmlvbGF0aW9ucy4gVGhpcyBibHVycyB0aGUgY29kZS4gXHBhcg0KXHBhcg0K
VGhlIGFib3ZlIGJlaGF2aW9yIEkgdGVzdGVkIGluIEJCIDEuMywgYW5kIGluIEJCIDEuNGJldGEs
IHdoaWNoIEkgb25seSB1c2UgZm9yIGluZm9ybWF0aW9uIChTaW5jZSBJIHVzZSAxLjMsIEkgaGF2
ZSBwcm9ibGVtcyB1c2luZyBjb2RlIHRoYXQgd2FzIGRlc2lnbmVkIGZvciAxLjQuIEkgdXNlIHRo
ZSBiZXRhIHRvIHVuZGVyc3RhbmQgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gMS4zIGFuZCAxLjQg
b25seSkuXHBhcg0KXHBhcg0KUmVuZVxwYXINClxwYXINClxwYXINCj09PT09PT09PT09PT09PT09
PT09PT09PT09PVxwYXINClJlblwnZTkgQS4gS3J5d3VsdFxwYXINCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1ccGFyDQpMZWdlLCBsZWdlLCByZWxlZ2Us
IG9yYSwgbGFib3JhIGV0IGludmVuaWVzXHBhcg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19ccGFyDQpccGFyDQpccGFyDQpccGFyDQpccGFyDQpccGFyDQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KVmVyc2VuZGV0IGR1cmNoIEFvbldl
Ym1haWwgKHdlYm1haWwuYW9uLmF0KVxwYXINCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIG1haWxp
bmcgbGlzdCwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZCAidW5zdWJzY3JpYmUi
IHRvOlxwYXINCiAgIGJsYWNrYm94LXJlcXVlc3RAb2Jlcm9uLmNoXHBhcg0KXHBhcg0KVG8gZ2V0
IGEgbGlzdCBvZiB2YWxpZCBlLW1haWwgY29tbWFuZHMgYW5kIGluc3RydWN0aW9ucyBvbiB0aGVp
ciB1c2FnZSwgc2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZCAiaGVscCIgdG8gdGhl
IGFib3ZlIGFkZHJlc3MuXHBhcg0KXHBhcg0KU2VuZCBhbnkgcHJvYmxlbSByZXBvcnRzIG9yIHF1
ZXN0aW9ucyByZWxhdGVkIHRvIHRoaXMgZW1haWwgbGlzdCB0byB0aGUgbGlzdCBvd25lciBhdFxw
YXINCiAgIG93bmVyLWJsYWNrYm94QG9iZXJvbi5jaFxwYXINClxwYXINCkN1cnJlbnQgcG9zdGlu
ZyBwb2xpY3k6XHBhcg0KXHBhcg0KYSkgVG8gcG9zdCB5b3Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBh
ZGRyZXNzIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCB0byB0aGUgbWFpbGluZyBsaXN0LiBU
aGF0IHdheSwgdGhlIGxpc3Qgc2VydmVyIHdpbGwgcmVjb2duaXplIHlvdSBhcyBzdWJzY3JpYmVy
IGFuZCBmb3J3YXJkIHlvdXIgcG9zdGluZyBpbW1lZGlhdGVseSwgd2l0aG91dCBjcmVhdGluZyBh
bnkgb3ZlcmhlYWQuXHBhcg0KXHBhcg0KYikgSWYsIGZvciBzb21lIHJlYXNvbiwgeW91IGNhbm5v
dCBwb3N0IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCwgeW91
ciBtZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRvIGF2b2lkIHNwYW0uIFBsZWFzZSB1bmRlcnN0
YW5kIHRoYXQgbW9kZXJhdGlvbiB3aWxsIG9mdGVuIGNhdXNlIHNvbWUgZGVsYXksIGluIHBhcnRp
Y3VsYXIgb3ZlciB3ZWVrZW5kcyBvciBob2x5ZGF5cy5ccGFyDQpccGFyDQp9


----boundary-LibPST-iamunique-1460907616_-_---
Received on Thu Dec 11 2003 - 11:17:06 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:29:00 UTC