The Control ADT question

From: [at]} <Wojtek>
Date: Tue, 1 Jul 2003 00:08:28 -0400 (EDT)

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

Gerard:

Thank you for the explanation about models. Now, about the ADT.
I thought of this a little more and unless I am missing something,
I awould say "no, not possible". The reason why not is because
they provide only one way to link the control to the Dialog.
They are passing the string, which then Meta searches for
in run-time info. I am now looking at Controls definition, where
the Control.Item is read only. We cannot assign it "by hand".
I would *guess* one can force the Control.Item to a given
variable using PutVal from Meta, but this is just a guess
based on the method name PutVal, which is undocumented. They
did not document Meta too well, maybe on purpose.

I am further guessing, that within the Controls code they
extend the Item such that it matches the corresponding Dialog
data types. They then assign this specialized Item to the
Control.Item field. In such a way they customize the Control
to a given Dialog type. It might be possible to retarget such
a customized Control to take a different instance of a record
of the same type as the one which generated the control. This
is a wild guess. May or may not work, depending of what the
undocumented parts of Meta are really doing.

I would seriously question the sense of going into this low-level
stuff. Doing this is basically abusing the Dialogs/Controls combo
only because the regular language mechanism is not in place there.
I would guess that all that is needed is is another way to assign
a given Dialog to a Control, using the pointer to the Dialog.
This would make the ADT possible. If true, this is a legitimate
proposition for Ominc to implement. They may consider fixing
what was overlooked. However, there might be something deep down
in Controls which prevents the ADT. They know, we are just guessing.


> Well, the problem is that the model of a control is not allocated on the
> heap, but, as you noticed, stored in a global variable. And there is no way
> to change that. So without a wizardry, as you'd say, there is no hope to use
> at the same time more controls than there are global variables declared in
> modules. Now the questions are: 1) Is it possible to bypass this limitation?
> I'd say yes, but it's just an intuition, it must be tested at first.

I would guess no, but that's based on intuition. The gaps in documentation
are such that I do not know.

> 2) Is it worth the difficulty to develop the trick? With a little time,
> I can answer the first question. You are to answer the second one. Is it
> enough for you to be able to show at he same time only a limited set of
> controls? If your answer is no, I'll look at the first question.

I will implement a singleton linked to one global variable and I will live
with that. Right now this is a sufficient progress for me over not having
any such tool at all.

On the other hand, I think the ADT request makes perfect sense, but I
would leave it to them to consider. They know the code, we are only
guessing.

I am forwarding this to the list, maybe Ominc is listening.

Thanks a lot for your comments. Cheers,

Wojtek

--------------------------------------------

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-125273909_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEdlcmFyZDpccGFyDQpccGFyDQpUaGFuayB5b3Ug
Zm9yIHRoZSBleHBsYW5hdGlvbiBhYm91dCBtb2RlbHMuIE5vdywgYWJvdXQgdGhlIEFEVC5ccGFy
DQpJIHRob3VnaHQgb2YgdGhpcyBhIGxpdHRsZSBtb3JlIGFuZCB1bmxlc3MgSSBhbSBtaXNzaW5n
IHNvbWV0aGluZyxccGFyDQpJIGF3b3VsZCBzYXkgIm5vLCBub3QgcG9zc2libGUiLiBUaGUgcmVh
c29uIHdoeSBub3QgaXMgYmVjYXVzZVxwYXINCnRoZXkgcHJvdmlkZSBvbmx5IG9uZSB3YXkgdG8g
bGluayB0aGUgY29udHJvbCB0byB0aGUgRGlhbG9nLlxwYXINClRoZXkgYXJlIHBhc3NpbmcgdGhl
IHN0cmluZywgd2hpY2ggdGhlbiBNZXRhIHNlYXJjaGVzIGZvclxwYXINCmluIHJ1bi10aW1lIGlu
Zm8uIEkgYW0gbm93IGxvb2tpbmcgYXQgQ29udHJvbHMgZGVmaW5pdGlvbiwgd2hlcmVccGFyDQp0
aGUgQ29udHJvbC5JdGVtIGlzIHJlYWQgb25seS4gV2UgY2Fubm90IGFzc2lnbiBpdCAiYnkgaGFu
ZCIuXHBhcg0KSSB3b3VsZCAqZ3Vlc3MqIG9uZSBjYW4gZm9yY2UgdGhlIENvbnRyb2wuSXRlbSB0
byBhIGdpdmVuXHBhcg0KdmFyaWFibGUgdXNpbmcgUHV0VmFsIGZyb20gTWV0YSwgYnV0IHRoaXMg
aXMganVzdCBhIGd1ZXNzXHBhcg0KYmFzZWQgb24gdGhlIG1ldGhvZCBuYW1lIFB1dFZhbCwgd2hp
Y2ggaXMgdW5kb2N1bWVudGVkLiBUaGV5XHBhcg0KZGlkIG5vdCBkb2N1bWVudCBNZXRhIHRvbyB3
ZWxsLCBtYXliZSBvbiBwdXJwb3NlLlxwYXINClxwYXINCkkgYW0gZnVydGhlciBndWVzc2luZywg
dGhhdCB3aXRoaW4gdGhlIENvbnRyb2xzIGNvZGUgdGhleVxwYXINCmV4dGVuZCB0aGUgSXRlbSBz
dWNoIHRoYXQgaXQgbWF0Y2hlcyB0aGUgY29ycmVzcG9uZGluZyBEaWFsb2dccGFyDQpkYXRhIHR5
cGVzLiBUaGV5IHRoZW4gYXNzaWduIHRoaXMgc3BlY2lhbGl6ZWQgSXRlbSB0byB0aGVccGFyDQpD
b250cm9sLkl0ZW0gZmllbGQuIEluIHN1Y2ggYSB3YXkgdGhleSBjdXN0b21pemUgdGhlIENvbnRy
b2xccGFyDQp0byBhIGdpdmVuIERpYWxvZyB0eXBlLiBJdCBtaWdodCBiZSBwb3NzaWJsZSB0byBy
ZXRhcmdldCBzdWNoXHBhcg0KYSBjdXN0b21pemVkIENvbnRyb2wgdG8gdGFrZSBhIGRpZmZlcmVu
dCBpbnN0YW5jZSBvZiBhIHJlY29yZFxwYXINCm9mIHRoZSBzYW1lIHR5cGUgYXMgdGhlIG9uZSB3
aGljaCBnZW5lcmF0ZWQgdGhlIGNvbnRyb2wuIFRoaXNccGFyDQppcyBhIHdpbGQgZ3Vlc3MuIE1h
eSBvciBtYXkgbm90IHdvcmssIGRlcGVuZGluZyBvZiB3aGF0IHRoZVxwYXINCnVuZG9jdW1lbnRl
ZCBwYXJ0cyBvZiBNZXRhIGFyZSByZWFsbHkgZG9pbmcuXHBhcg0KXHBhcg0KSSB3b3VsZCBzZXJp
b3VzbHkgcXVlc3Rpb24gdGhlIHNlbnNlIG9mIGdvaW5nIGludG8gdGhpcyBsb3ctbGV2ZWxccGFy
DQpzdHVmZi4gRG9pbmcgdGhpcyBpcyBiYXNpY2FsbHkgYWJ1c2luZyB0aGUgRGlhbG9ncy9Db250
cm9scyBjb21ib1xwYXINCm9ubHkgYmVjYXVzZSB0aGUgcmVndWxhciBsYW5ndWFnZSBtZWNoYW5p
c20gaXMgbm90IGluIHBsYWNlIHRoZXJlLlxwYXINCkkgd291bGQgZ3Vlc3MgdGhhdCBhbGwgdGhh
dCBpcyBuZWVkZWQgaXMgaXMgYW5vdGhlciB3YXkgdG8gYXNzaWduXHBhcg0KYSBnaXZlbiBEaWFs
b2cgdG8gYSBDb250cm9sLCB1c2luZyB0aGUgcG9pbnRlciB0byB0aGUgRGlhbG9nLlxwYXINClRo
aXMgd291bGQgbWFrZSB0aGUgQURUIHBvc3NpYmxlLiBJZiB0cnVlLCB0aGlzIGlzIGEgbGVnaXRp
bWF0ZVxwYXINCnByb3Bvc2l0aW9uIGZvciBPbWluYyB0byBpbXBsZW1lbnQuIFRoZXkgbWF5IGNv
bnNpZGVyIGZpeGluZ1xwYXINCndoYXQgd2FzIG92ZXJsb29rZWQuIEhvd2V2ZXIsIHRoZXJlIG1p
Z2h0IGJlIHNvbWV0aGluZyBkZWVwIGRvd25ccGFyDQppbiBDb250cm9scyB3aGljaCBwcmV2ZW50
cyB0aGUgQURULiBUaGV5IGtub3csIHdlIGFyZSBqdXN0IGd1ZXNzaW5nLlxwYXINClxwYXINClxw
YXINCj4gV2VsbCwgdGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgbW9kZWwgb2YgYSBjb250cm9sIGlz
IG5vdCBhbGxvY2F0ZWQgb24gdGhlXHBhcg0KPiBoZWFwLCBidXQsIGFzIHlvdSBub3RpY2VkLCBz
dG9yZWQgaW4gYSBnbG9iYWwgdmFyaWFibGUuIEFuZCB0aGVyZSBpcyBubyB3YXlccGFyDQo+IHRv
IGNoYW5nZSB0aGF0LiBTbyB3aXRob3V0IGEgd2l6YXJkcnksIGFzIHlvdSdkIHNheSwgdGhlcmUg
aXMgbm8gaG9wZSB0byB1c2VccGFyDQo+IGF0IHRoZSBzYW1lIHRpbWUgbW9yZSBjb250cm9scyB0
aGFuIHRoZXJlIGFyZSBnbG9iYWwgdmFyaWFibGVzIGRlY2xhcmVkIGluXHBhcg0KPiBtb2R1bGVz
LiBOb3cgdGhlIHF1ZXN0aW9ucyBhcmU6IDEpIElzIGl0IHBvc3NpYmxlIHRvIGJ5cGFzcyB0aGlz
IGxpbWl0YXRpb24/XHBhcg0KPiBJJ2Qgc2F5IHllcywgYnV0IGl0J3MganVzdCBhbiBpbnR1aXRp
b24sIGl0IG11c3QgYmUgdGVzdGVkIGF0IGZpcnN0LlxwYXINClxwYXINCkkgd291bGQgZ3Vlc3Mg
bm8sIGJ1dCB0aGF0J3MgYmFzZWQgb24gaW50dWl0aW9uLiBUaGUgZ2FwcyBpbiBkb2N1bWVudGF0
aW9uXHBhcg0KYXJlIHN1Y2ggdGhhdCBJIGRvIG5vdCBrbm93LlxwYXINClxwYXINCj4gMikgSXMg
aXQgd29ydGggdGhlIGRpZmZpY3VsdHkgdG8gZGV2ZWxvcCB0aGUgdHJpY2s/IFdpdGggYSBsaXR0
bGUgdGltZSxccGFyDQo+IEkgY2FuIGFuc3dlciB0aGUgZmlyc3QgcXVlc3Rpb24uIFlvdSBhcmUg
dG8gYW5zd2VyIHRoZSBzZWNvbmQgb25lLiBJcyBpdFxwYXINCj4gZW5vdWdoIGZvciB5b3UgdG8g
YmUgYWJsZSB0byBzaG93IGF0IGhlIHNhbWUgdGltZSBvbmx5IGEgbGltaXRlZCBzZXQgb2ZccGFy
DQo+IGNvbnRyb2xzPyBJZiB5b3VyIGFuc3dlciBpcyBubywgSSdsbCBsb29rIGF0IHRoZSBmaXJz
dCBxdWVzdGlvbi5ccGFyDQpccGFyDQpJIHdpbGwgaW1wbGVtZW50IGEgc2luZ2xldG9uIGxpbmtl
ZCB0byBvbmUgZ2xvYmFsIHZhcmlhYmxlIGFuZCBJIHdpbGwgbGl2ZVxwYXINCndpdGggdGhhdC4g
UmlnaHQgbm93IHRoaXMgaXMgYSBzdWZmaWNpZW50IHByb2dyZXNzIGZvciBtZSBvdmVyIG5vdCBo
YXZpbmdccGFyDQphbnkgc3VjaCB0b29sIGF0IGFsbC5ccGFyDQpccGFyDQpPbiB0aGUgb3RoZXIg
aGFuZCwgSSB0aGluayB0aGUgQURUIHJlcXVlc3QgbWFrZXMgcGVyZmVjdCBzZW5zZSwgYnV0IElc
cGFyDQp3b3VsZCBsZWF2ZSBpdCB0byB0aGVtIHRvIGNvbnNpZGVyLiBUaGV5IGtub3cgdGhlIGNv
ZGUsIHdlIGFyZSBvbmx5XHBhcg0KZ3Vlc3NpbmcuXHBhcg0KXHBhcg0KSSBhbSBmb3J3YXJkaW5n
IHRoaXMgdG8gdGhlIGxpc3QsIG1heWJlIE9taW5jIGlzIGxpc3RlbmluZy5ccGFyDQpccGFyDQpU
aGFua3MgYSBsb3QgZm9yIHlvdXIgY29tbWVudHMuIENoZWVycyxccGFyDQpccGFyDQpXb2p0ZWtc
cGFyDQpccGFyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxw
YXINClxwYXINClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBtYWlsaW5nIGxpc3QsIHNlbmQgYSBt
ZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgInVuc3Vic2NyaWJlIiB0bzpccGFyDQogICBibGFj
a2JveC1yZXF1ZXN0QG9iZXJvbi5jaFxwYXINClxwYXINClRvIGdldCBhIGxpc3Qgb2YgdmFsaWQg
ZS1tYWlsIGNvbW1hbmRzIGFuZCBpbnN0cnVjdGlvbnMgb24gdGhlaXIgdXNhZ2UsIHNlbmQgYSBt
ZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgImhlbHAiIHRvIHRoZSBhYm92ZSBhZGRyZXNzLlxw
YXINClxwYXINClNlbmQgYW55IHByb2JsZW0gcmVwb3J0cyBvciBxdWVzdGlvbnMgcmVsYXRlZCB0
byB0aGlzIGVtYWlsIGxpc3QgdG8gdGhlIGxpc3Qgb3duZXIgYXRccGFyDQogICBvd25lci1ibGFj
a2JveEBvYmVyb24uY2hccGFyDQpccGFyDQpDdXJyZW50IHBvc3RpbmcgcG9saWN5OlxwYXINClxw
YXINCmEpIFRvIHBvc3QgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUgYWRkcmVzcyBieSB3aGljaCB5
b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhlIG1haWxpbmcgbGlzdC4gVGhhdCB3YXksIHRoZSBsaXN0
IHNlcnZlciB3aWxsIHJlY29nbml6ZSB5b3UgYXMgc3Vic2NyaWJlciBhbmQgZm9yd2FyZCB5b3Vy
IHBvc3RpbmcgaW1tZWRpYXRlbHksIHdpdGhvdXQgY3JlYXRpbmcgYW55IG92ZXJoZWFkLlxwYXIN
ClxwYXINCmIpIElmLCBmb3Igc29tZSByZWFzb24sIHlvdSBjYW5ub3QgcG9zdCBmcm9tIHRoZSBh
ZGRyZXNzLCBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQsIHlvdXIgbWVzc2FnZSB3aWxsIGJl
IG1vZGVyYXRlZCB0byBhdm9pZCBzcGFtLiBQbGVhc2UgdW5kZXJzdGFuZCB0aGF0IG1vZGVyYXRp
b24gd2lsbCBvZnRlbiBjYXVzZSBzb21lIGRlbGF5LCBpbiBwYXJ0aWN1bGFyIG92ZXIgd2Vla2Vu
ZHMgb3IgaG9seWRheX19AGUgZmlycw==


----boundary-LibPST-iamunique-125273909_-_---
Received on Tue Jul 01 2003 - 06:08:28 UTC

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