[Openroad-users] Accessing dynamically created fields
Chris Wallace
chrisw at miswa.com.au
Mon Sep 3 09:33:57 EST 2007
James,
Can we take a step back. Why are you mimicking a Tablefield? The
problem you currently have with the work-around you are trying, but
what's the problem with Tablefields that has caused you to try this
work-around?
Regards
Chris Wallace
Management Information Systems (WA) Pty Ltd
Level 9, MIS House
231 Adelaide Terrace, PERTH WA 6000
Ph: (08) 9221-9221 Fax: (08) 9221-9224
Email: chrisw at miswa.com.au
Web: http://www.miswa.com.au
Disclaimer <http://www.miswa.com.audisclaimer/> : Management
Information Systems (MIS)
This e-mail is private and confidential. If you are not the intended
recipient, please advise us by return e-mail immediately, and delete the
e-mail and any attachments without using or disclosing the contents in
any way. The views expressed in this e-mail are those of the author, and
do not represent those of MIS unless this is clearly indicated. You
should scan this e-mail and any attachments for viruses. MIS accepts no
liability for any direct or indirect damage or loss resulting from the
use of any attachments to this e-mail.
________________________________
From: openroad-users-bounces at peerlessit.com
[mailto:openroad-users-bounces at peerlessit.com] On Behalf Of James Higson
Sent: Monday, 3 September 2007 06:52
To: 'International OpenROAD Users'
Subject: [Openroad-users] Accessing dynamically created fields
Hi all,
I am using OR4.1SP3.
I have a StackField object which has a datatype of a userclass. I have
then created several instances of this StackField and grouped them into
a second StackField then grouped this into a ViewPort. In effect, I
have mimmicked a TableField. I am then dynamically appending instances
of the first StackField to the second StackField by duplicating the
first instance at runtime. I hope you are following me so far. The
instances are then named r001, r002, ... r00n.
I can reference the instances by using either:
FieldPtr =
CurFrame.TopForm.FieldByFullName(FullName='r'+RIGHT('000'+VARCHAR(i),3))
), or;
ExprPtr =
CurFrame.Scope.CreateDynExpr(String='r'+RIGHT('000'+VARCHAR(i),3))).
The problem I have, is that CreateDynExpr only works for the instances
of the StackField that were statically created on the form. The
dynamically created instances return a NULL reference. FieldByFullName
works for the dynamically created instances. I want to set the
instances to a row in an array by using:
ExprPtr =
CurFrame.Scope.CreateDynExpr(String='r'+RIGHT('000'+VARCHAR(i),3)));
ExprPtr.SetValue(Value = a[i]);
I would have thought that CreateDynExpr should work for dynamically
created instances as well. Can anyone see another way to do this?
Thanks,
James
Melbourne, Australia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.peerlessit.com/pipermail/openroad-users/attachments/20070903/87708b60/attachment.html
More information about the Openroad-users
mailing list