[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