Re: (forte-users) Display Problem

Judging by the title bar of the window, it looks like the application is
not running on the Boston user's PC, but is being driven by some sort of
PCAnywhere-style program. Maybe that's the problem?
At 14:44 28/02/00 -0800, Holm, Steve wrote:
<<good.doc>>
We have an application running in production that has been working just
fine. The screen layout is in the attached good.doc document. We brought
up our Boston division on this application and one user there has a problem
with the tabs at the bottom. The bottom section is scrunched together so
that not all the data is visible. I have attached a screen shot of the
application on her pc (bad.doc). Does anyone have any idea what might be
causing this?
<<bad.doc>>Stephen Szalla
Senior Technical Specialist
Sun Microsystems Australia - Forte Tools Group
Voice: +61 3 9699 7754
Fax: +61 3 9699 7781
Mobile: +61 419 392 867
mailto:Stephen.Szallaaus.sun.com
http://www.forte.com

My guess is, your third service object is not referenced.
-----Original Message-----
From: Forte App [mailto:forteapphotmail.com]
Sent: Wednesday, May 17, 2000 3:08 PM
To: kamranaminyahoo.com
Subject: (forte-users) Partition problem
Hello Everyone,
I have three (3) service objects in my project and when i went into
partition workshop i can only see two service objects instead of three and
all the three service objects properties settings are same
iam using Forte 3.0L2.
Thanks in Advance
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

Similar Messages

  • Re: (forte-users) No response from Router partition

    Sounds like what we have been experiencing here, on Unix.
    According to Fort&eacute;, upgrading to 3M should resolve it. Unfortunately, we
    can't
    confirm it yet, as we are in the process of upgrading and testing.
    I believe this is documented as an "internal" Fort&eacute; bug report.
    Hope this hels.
    Daniel D&eacute;sy
    BORN
    ----- Original Message -----
    From: "Pabbaraju, Ramarao (EXP N-IONIDEA)" <ramarao.pabbarajulmco.com>
    To: "Forte-Users (E-mail)" <forte-userslists.xpedior.com>
    Sent: Tuesday, November 14, 2000 10:46 AM
    Subject: (forte-users) No response from Router partition
    Hi All,
    One of the router partitions on NT server stops responding once in awhile. We can not get to it through escript or econsole and the only
    solution we have is to shutdown the ftexec using task manager and start
    the partition again. We don't see any error messages in the log except
    this line "LbRouter::AttachToRouter - Ignoring DOM version: -1 obj
    version: 0". Does anyone have any idea what this means? Is there any way
    to figure out the problem? We are using Forte 3L3. Thanks in advance.
    Thanks
    Ramarao--
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a
    new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    My guess is, your third service object is not referenced.
    -----Original Message-----
    From: Forte App [mailto:forteapphotmail.com]
    Sent: Wednesday, May 17, 2000 3:08 PM
    To: kamranaminyahoo.com
    Subject: (forte-users) Partition problem
    Hello Everyone,
    I have three (3) service objects in my project and when i went into
    partition workshop i can only see two service objects instead of three and
    all the three service objects properties settings are same
    iam using Forte 3.0L2.
    Thanks in Advance
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • User data causing display problems?

    I had a user on an iBook whose display was completely washed out. The image was so white and there was so little detail that it was mostly unreadable.
    So, I did a fresh load of 10.4 onto an older Powerbook G4 that had no issues, and I used the Setup Assistant to transfer over his all of his User Data, settings, and applications.
    As soon as the Powerbook rebooted, it had inherited the display problem!
    A fresh install on the iBook shows that the display is now fine. Somehow, this problem is travelling with the user's data, settings, and applications.
    I've played with the display and color settings, but they have no effect on the problem.
    The only unusual application that he was running was some "Ding!" app from Southwest Airlines.
    Any idea where to look to hunt down this problem?

    Check the contrast setting in the Universal Access pane of System Preferences; this setting can cause what you describe.
    (15278)

  • RE: (forte-users) Debugging 'fixes' problem!!!

    Duncan
    This is often indicative of a race condition, especially when
    multi-threading is involved.
    What can happen is that task A is using something created or initialized by
    task B,
    and task B hasn't gotten around to doing its thing before task A asks for
    it.
    When running in debug mode, you give everything a lot more time to get
    things
    done while it's waiting for you to click the next button. So, when task A
    starts task B,
    you click Run on task B, watch it happen, go back to task A and click,
    watch, click, etc.,
    and by the time you get to the trouble spot, task B has long since done what
    it had to do.
    HTH.
    Ken.
    ==========================
    Ken Gacioch
    Senior Consultant
    Caro Systems, Inc.
    [email protected]
    -----Original Message-----
    From: Duncan Kinnear [SMTP:[email protected]]
    Sent: Sunday, November 21, 1999 11:33 PM
    To: [email protected]
    Subject: (forte-users) Debugging 'fixes' problem!!!
    Hi folks,
    I've got a weird one here.
    I'm trying to find out why my code to highlight a particular outline field
    row does not work.
    However, when I run it in debug, it works perfectly! (The correct row is
    highlighted). Anybody got any idea how I can get debug to behave
    consistently with "The running man"?
    I have tried using "<OutlineField>.UpdateFieldFromData()" as well as
    using the same method on the specific DisplayNode involved.
    I must point out that the outline field is in a window running as a
    separate asynchronous task. Would that make any difference when
    running in debug? When the second debug window appears for this
    task I just click on the "Go" button and there are no breakpoints.
    Any help would be greatly appreciated.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email:
    [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834
    3369

    Duncan
    This is often indicative of a race condition, especially when
    multi-threading is involved.
    What can happen is that task A is using something created or initialized by
    task B,
    and task B hasn't gotten around to doing its thing before task A asks for
    it.
    When running in debug mode, you give everything a lot more time to get
    things
    done while it's waiting for you to click the next button. So, when task A
    starts task B,
    you click Run on task B, watch it happen, go back to task A and click,
    watch, click, etc.,
    and by the time you get to the trouble spot, task B has long since done what
    it had to do.
    HTH.
    Ken.
    ==========================
    Ken Gacioch
    Senior Consultant
    Caro Systems, Inc.
    [email protected]
    -----Original Message-----
    From: Duncan Kinnear [SMTP:[email protected]]
    Sent: Sunday, November 21, 1999 11:33 PM
    To: [email protected]
    Subject: (forte-users) Debugging 'fixes' problem!!!
    Hi folks,
    I've got a weird one here.
    I'm trying to find out why my code to highlight a particular outline field
    row does not work.
    However, when I run it in debug, it works perfectly! (The correct row is
    highlighted). Anybody got any idea how I can get debug to behave
    consistently with "The running man"?
    I have tried using "<OutlineField>.UpdateFieldFromData()" as well as
    using the same method on the specific DisplayNode involved.
    I must point out that the outline field is in a window running as a
    separate asynchronous task. Would that make any difference when
    running in debug? When the second debug window appears for this
    task I just click on the "Go" button and there are no breakpoints.
    Any help would be greatly appreciated.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email:
    [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834
    3369

  • RE: (forte-users) 3J= 3M new to me error

    Hi Thomas,
    Thanks for your email but I think it will be interesting for Brenda not me.
    It is exactly what I have expected from Forte Support: detailed information
    about bugs and workarounds. But what I cannot understand is that #53398 was
    released without any information about possible reasons for this problem or
    suggested workarounds. My first reaction after reading this bugreport was to
    open a new case at CallCenter to get more information about it. Please
    release more information with your bug reports !
    Regards
    Zenon Adamek
    Information Services
    Senior Programmer Analyst
    Tel: 905 712-1084 ext. 3628
    Fax: 905 712-6709
    E-mail: zadamekpurolator.com
    -----Original Message-----
    From: Thomas Degen - Sun Germany Forte Tools - Bonn
    [SMTP:thomas.degensun.com]
    Sent: Wednesday, September 27, 2000 9:49 AM
    To: Adamek, Zenon
    Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
    Subject: RE: (forte-users) 3J=>3M new to me error
    Hi Zenon,
    bug #53398 is not a bug which will likely get fixed, it's an informational
    bugreport.
    You might see an errorstack like Brenda has reported (and described in
    informational
    bugreport #53398) probably when you are doing something illegal that is
    possible
    via Forte Tool but Forte is not trapping it for performance reasons. Hence
    you will see
    the error coming from your illegal operation only at runtime, probably
    only
    while
    running interpreted in the Forte IDE, but in worst case it might be even a
    segmentation
    violation.
    Technotes 12448 'Sudden client partition crashes at runtime' and 11225
    'Don't reparent
    mapped Widgets between UserWindows at runtime' explain this matter . See
    attached.
    But maybe Brenda is much more experiencing a problem as described by Forte
    Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
    control'
    that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
    Good Luck and Best Regards !
    BTW: I've logged bug #53398, so I've felt responsible to explain its real
    background.
    Thomas
    Thomas Degen
    Sun Microsystems - Forte Tools
    Forte CTE & Sustaining Group
    Technical Support Germany
    tel.:+49.228/91499-50
    MailTo:thomas.degensun.com
    Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
    control
    SCENARIO:
    Getting some unusual interpreter errors that result in an error stating
    that
    the workspace has been set to read only. Please see Enclosures for the
    two
    most common error stacks that have been encountered. The abbreviated
    versions of the errors are:
    - Can't read record (record size = -1)
    - Id in index does not match id in record header in data file
    - Recursive deserialization attempted.
    - Unknown Mark type in deserialization
    - Could not read record (64,74615) from repository data file.
    Header
    is corrupt.
    These errors can be happening in either the development environment when
    running from one of the development workshops, or with the deployed
    application.
    The bug outlined in this Technote may be the culprit if the errors above
    are
    seen when running a client on Windows NT or Motif and the user interface
    incorporates ActiveX controls or ListView/TreeView widgets.
    CAUSE:
    Basically what is happening is that in rare circumstances Forte may invoke
    a
    nested copy of the interpreter while the first interpreter has yielded.
    This
    is not a problem in and of itself, but in the case where the original
    interpreter was in the middle of a repository fetch when it yielded, and
    the second interpreter needs to fetch code as well, we will get one of the
    errors listed above, depending on the exact timing. The reason for the
    errors is that the repository code at this level is thread-safe but not
    re-entrant. It is protected by a mutex that is already owned by the
    current task. Which, given the scenario outlined here, where the two
    interpreters are running inside of the same task, results in the nested
    interpreter being allowed to change data out from under the first.
    While for every fetch one or more calls to WindowSystem.Yield will be made
    (this is there to prevent the semblance of system lock-up on Win 3.1,
    where
    Yield is the only way other applications can be allowed to run), there is
    a parameter which controls how often to actually yield, which by default
    is
    set to one out of every 100 calls. This is the reason the problem is
    intermittent--you need a yield to occur during a repository fetch
    which starts another interpreter which also needs to fetch code from
    disk.
    The reason this has only surfaced recently is that the nested interpreter
    scenario can only happen in 2 cases that we know of:
    - ActiveX controls which respond to events/Windows messages
    - Outline fields/ListViews with column(s) mapped to virtual
    attributes
    In all other normal cases, the yield can process the message (typically a
    paint message) without starting another interpreter, so regardless of
    whether
    the first interpreter yielded during a repository operation or not, there
    is
    no conflict.
    SOLUTION:
    The workaround is to prevent yields altogether by setting the
    FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
    environment. This should have no detrimental effects since the yield code
    is in place solely for Windows 3.1x clients.
    ERROR STACK 1
    SYSTEM ERROR: Because of a prior error, your workspace was set to
    read-only to
    prevent the application from attempting to write to the repository. The
    repository and work you have saved to the repository are safe. If your
    workspace
    contains unsaved work, you may use the following procedure to save this
    work.
    First, export the changed components. Then, shut down and restart this
    application and reopen this workspace in read-write mode. Finally, import
    the
    changed components and save your workspace.
    Class: qqrp_RepResourceException
    Error #: [1101, 695]
    Detected at: qqrp_Session::GetObjectById
    Last TOOL statement: method EFWindowController.EFEventLoop
    Error Time: Tue Nov 18 15:58:47
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
    taskId =
    [7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
    "ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
    The remainder of the Error Manager stack is:
    SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
    (fetch
    bitmask is 0x20). Your workspace is now read-only to prevent the
    application
    from attempting to write to the repository. The repository and work you
    have
    saved to the repository are safe. If your workspace contains unsaved work,
    you
    may use the following procedure to save this work. First, export the
    changed
    components. Then, shut down and restart this application and reopen this
    workspace in read-write mode. Finally, import the changed components and
    save
    your workspace.
    Class: qqrp_RepResourceException
    Error #: [1101, 61]
    Detected at: qqrp_LogicalSession::MaterializeObject
    Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
    Error Time: Tue Nov 18 15:58:47
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
    taskId =
    [7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
    "ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
    SYSTEM ERROR: Unknown Mark type in deserialization.
    Class: qqsp_ImplementationException
    Error #: [1101, 34]
    Detected at: qqrp_DeSerializeObject::ProcessHdr
    Error Time: Tue Nov 18 15:58:47
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
    taskId =
    [7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
    "ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
    ERROR STACK 2
    SYSTEM ERROR: A serious error has occurred in Repository
    (c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
    Notify
    your repository administrator.
    Class: qqsp_ImplementationException
    Error #: [1101, 198]
    Detected at: qqrp_Repository::Fetch
    Last TOOL statement: method
    SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
    Error Time: Wed Dec 03 10:27:22
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
    taskId =
    [769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
    "ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
    SYSTEM ERROR: Could not read record (64,74615) from repository data file.
    Header is corrupt.
    Class: qqsp_ImplementationException
    Error #: [1106, 612]
    Detected at: qqbt_BtreeAccess::FetchDataFileRecord
    Error Time: Wed Dec 03 10:27:22
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
    taskId =
    [769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
    "ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
    Technote 11225 Don't reparent mapped Widgets between UserWindows at
    runtime
    It is sometimes tempting to unparent a widget from one UserWindow and
    reparent
    it into another at runtime. However, this can cause crashes if the widget
    (or
    its decendants) are "mapped" to data. Here's why...
    Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
    (DF1)
    which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
    mapped to
    a scalar Integer. At compile time, every mapped attribute is internally
    assigned
    a "Map ID" (a small integer) which is used to tie the Widget to its
    corresponding attribute. These Map IDs are used by the Widget to look up a
    pointer to their data in a "Map" which is maintained by the UserWindow.
    Each
    UserWindow is assumed be to independent of the others, so there is nothing
    wrong
    with Widgets in different UserWindows being assigned the same Map IDs.
    In
    this
    case, let's assume that DF1 and RL2 both got assigned the same Map ID of
    3. No
    problem so far, since each lives in a separate UserWindow with a separate
    map.
    Now suppose at runtime the application "detaches" or unparents DF1 from
    its
    UserWindow and reparents it somewhere into UW2. When it comes time for DF1
    to
    paint itself the Display System it must ask the Runtime System for the
    value of
    DF1's mapped attribute. To do that it says "give me the value of the
    TextData
    for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
    ID is
    3". When the runtime system goes to do this it expects to find a TextData
    in
    this "slot" of the map, but instead it picks up the integer which is
    mapped to
    RL2. At best this leads to bad data being returned; more likely you get a
    segfault and a crash.
    If DF1 was not a mapped attribute (say, a Rectangle) there would be no
    problem
    because there is no data mapped to a Rectangle. If instead of moving DF1
    you
    created a brand new DataField on the fly there would be no problem,
    because the
    dynamic DataField would not have any Map ID and so couldn't conflict with
    any
    IDs in UW2.
    So how do you solve this problem? This is exactly what Nested Windows are
    all
    about. While you can't move DF1 into the middle of UW2, you can nest
    UW1.
    This
    works because UW1 brings its map with it, and when you access DF1 it knows
    to
    look up its value in UW1's map.
    UserWindows are intended to be the "unit of compilabilty" that can be
    nested
    inside other UserWindows. It is dangerous to "transplant" anything from
    inside
    one UserWindow into another at runtime.
    (Note that you can't avoid this problem by cloning DF1 because the MapID
    gets
    copied along with it, and the clone will fail in the same way.)
    Further details explained in related technote 12448 'Sudden client
    partition
    crashes at runtime.'
    Technote 12448 Sudden client partition crashes at runtime
    Scenario : You have two UserWindows, A and B. When Window A starts up, it
    instantiates an instance of B and reparents some component of B into A's
    window
    hierarchy.
    This is not allowed and almost always leads to an error at best or at
    worse a
    segmentation fault.
    Here's why :
    When you compile a UserWindow in Forte, each "mapped attribute" (whether a
    form
    element or menu element) is assigned an internal ID which represents an
    offset into
    that UserWindow's table of mapped attributes. This offset is only valid
    in the
    context of the UserWindow in which it was compiled. If you detach a
    FieldWidget or
    MenuWidget from one compiled Window ("tmpMenu" for example) and then
    parent
    into another compiled window ("tmpWindow") the internal ID comes with it.
    When Forte tries to make use of that copied widget it uses the ID as an
    offset
    into tmpWindow's table of mapped attributes. But that copied offset is
    meaningless in the context of tmpWindow's table, so you get some kind off
    error.
    In this case it found that the data type of the variable in the slot
    wasn't
    what
    was expected. But you might even index off the end of the table and get a
    segmentation fault.
    There is nothing to prevent you from dynamically creating menu items and
    adding
    them to a window at runtime; that will work fine. Although of course you
    can't
    access them via mapped attributes, since those can only be created at
    compile time.
    But you are not allowed to reparent a widget from one compiled UserWindow
    into
    the hierarchy of another.
    More information may be found in technote 11225 'Don't reparent mapped
    Widgets
    between UserWindows at runtime'.
    Possible errorstacks seen at runtime instead of a complete crash or
    segmentation
    violation while you are illegally reparenting a widget or menuitem between
    windows
    at runtime:
    Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
    SYSTEM ERROR: Bad parameter at location 3 in method
    qqrt_MapClassAccess::ProcessSubjectData.
    Class: qqsp_Exception
    Error #: [1001, 381]
    Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
    Error Time: Wed Aug 09 13:03:57
    Exception occurred (locally) on partition "testproject_CL0_Client",
    (partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
    taskId =
    [D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
    "FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
    At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
    Hi,
    It is the unfixed defect 53398. Please contact Forte support.
    Zenon
    -----Original Message-----
    From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
    Sent: Tuesday, September 26, 2000 1:15 PM
    To: Forte User group
    Subject: (forte-users) 3J=>3M new to me error
    Hi,
    We are in the process of going from 3J1 to 3.0.M.2, and I am getting
    this error that I am unfamiliar with on a GUI that works fine in 3J.
    It
    does not happen all the time, and I have been unable to establish the
    pattern that kicks it off. Has anyone seen this before?
    PS- this error is not occurring in the deployed (non-compiled) app,but
    when I am running locally from my workspace.
    SYSTEM ERROR: Bad parameter at location 6 in method
    qqrt_MapClassAccess::ProcessSubjectData.
    Class: qqsp_Exception
    Error #: [1001, 381]
    Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition
    "ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
    taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    SYSTEM ERROR: Can't find scope 20070 for a class.
    Class: qqsp_Exception
    Error #: [201, 11]
    Detected at: qqlo_ClassTableLoadScope at 1
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    SYSTEM ERROR: Because of a prior error, your workspace was set to
    read-only to prevent the application from attempting to write to the repository.
    The repository and work you have saved to the repository are safe. If
    your
    workspace contains unsaved work, you may use the following procedure
    to save this work. First, export the changed components. Then, shut down and
    restart this application and reopen this workspace in read-write mode.
    Finally, import the changed components and save your workspace.
    Class: qqrp_RepResourceException
    Error #: [1101, 695]
    Detected at: qqrp_Session::IsDistributed
    Last TOOL statement: method PPMeasWin.
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition
    "ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    SYSTEM ERROR: Internal Error attempting to deserialize element
    (64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
    prevent
    the application from attempting to write to the repository. The
    repository
    and work you have saved to the repository are safe. If your workspace
    contains unsaved work, you may use the following procedure to savethis
    work.
    First, export the changed components. Then, shut down and restart this
    application and reopen this workspace in read-write mode. Finally, import the
    changed components and save your workspace.
    Class: qqrp_RepResourceException
    Error #: [1101, 61]
    Detected at: qqrp_LogicalSession::MaterializeObject
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition
    "ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
    Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
    Error #: [301, 231]
    Detected at: qqsp_DeSerializeDriver::Run at 1
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in anew
    email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    Hi Thomas,
    Thanks for your email but I think it will be interesting for Brenda not me.
    It is exactly what I have expected from Forte Support: detailed information
    about bugs and workarounds. But what I cannot understand is that #53398 was
    released without any information about possible reasons for this problem or
    suggested workarounds. My first reaction after reading this bugreport was to
    open a new case at CallCenter to get more information about it. Please
    release more information with your bug reports !
    Regards
    Zenon Adamek
    Information Services
    Senior Programmer Analyst
    Tel: 905 712-1084 ext. 3628
    Fax: 905 712-6709
    E-mail: zadamekpurolator.com
    -----Original Message-----
    From: Thomas Degen - Sun Germany Forte Tools - Bonn
    [SMTP:thomas.degensun.com]
    Sent: Wednesday, September 27, 2000 9:49 AM
    To: Adamek, Zenon
    Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
    Subject: RE: (forte-users) 3J=>3M new to me error
    Hi Zenon,
    bug #53398 is not a bug which will likely get fixed, it's an informational
    bugreport.
    You might see an errorstack like Brenda has reported (and described in
    informational
    bugreport #53398) probably when you are doing something illegal that is
    possible
    via Forte Tool but Forte is not trapping it for performance reasons. Hence
    you will see
    the error coming from your illegal operation only at runtime, probably
    only
    while
    running interpreted in the Forte IDE, but in worst case it might be even a
    segmentation
    violation.
    Technotes 12448 'Sudden client partition crashes at runtime' and 11225
    'Don't reparent
    mapped Widgets between UserWindows at runtime' explain this matter . See
    attached.
    But maybe Brenda is much more experiencing a problem as described by Forte
    Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
    control'
    that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
    Good Luck and Best Regards !
    BTW: I've logged bug #53398, so I've felt responsible to explain its real
    background.
    Thomas
    Thomas Degen
    Sun Microsystems - Forte Tools
    Forte CTE & Sustaining Group
    Technical Support Germany
    tel.:+49.228/91499-50
    MailTo:thomas.degensun.com
    Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
    control
    SCENARIO:
    Getting some unusual interpreter errors that result in an error stating
    that
    the workspace has been set to read only. Please see Enclosures for the
    two
    most common error stacks that have been encountered. The abbreviated
    versions of the errors are:
    - Can't read record (record size = -1)
    - Id in index does not match id in record header in data file
    - Recursive deserialization attempted.
    - Unknown Mark type in deserialization
    - Could not read record (64,74615) from repository data file.
    Header
    is corrupt.
    These errors can be happening in either the development environment when
    running from one of the development workshops, or with the deployed
    application.
    The bug outlined in this Technote may be the culprit if the errors above
    are
    seen when running a client on Windows NT or Motif and the user interface
    incorporates ActiveX controls or ListView/TreeView widgets.
    CAUSE:
    Basically what is happening is that in rare circumstances Forte may invoke
    a
    nested copy of the interpreter while the first interpreter has yielded.
    This
    is not a problem in and of itself, but in the case where the original
    interpreter was in the middle of a repository fetch when it yielded, and
    the second interpreter needs to fetch code as well, we will get one of the
    errors listed above, depending on the exact timing. The reason for the
    errors is that the repository code at this level is thread-safe but not
    re-entrant. It is protected by a mutex that is already owned by the
    current task. Which, given the scenario outlined here, where the two
    interpreters are running inside of the same task, results in the nested
    interpreter being allowed to change data out from under the first.
    While for every fetch one or more calls to WindowSystem.Yield will be made
    (this is there to prevent the semblance of system lock-up on Win 3.1,
    where
    Yield is the only way other applications can be allowed to run), there is
    a parameter which controls how often to actually yield, which by default
    is
    set to one out of every 100 calls. This is the reason the problem is
    intermittent--you need a yield to occur during a repository fetch
    which starts another interpreter which also needs to fetch code from
    disk.
    The reason this has only surfaced recently is that the nested interpreter
    scenario can only happen in 2 cases that we know of:
    - ActiveX controls which respond to events/Windows messages
    - Outline fields/ListViews with column(s) mapped to virtual
    attributes
    In all other normal cases, the yield can process the message (typically a
    paint message) without starting another interpreter, so regardless of
    whether
    the first interpreter yielded during a repository operation or not, there
    is
    no conflict.
    SOLUTION:
    The workaround is to prevent yields altogether by setting the
    FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
    environment. This should have no detrimental effects since the yield code
    is in place solely for Windows 3.1x clients.
    ERROR STACK 1
    SYSTEM ERROR: Because of a prior error, your workspace was set to
    read-only to
    prevent the application from attempting to write to the repository. The
    repository and work you have saved to the repository are safe. If your
    workspace
    contains unsaved work, you may use the following procedure to save this
    work.
    First, export the changed components. Then, shut down and restart this
    application and reopen this workspace in read-write mode. Finally, import
    the
    changed components and save your workspace.
    Class: qqrp_RepResourceException
    Error #: [1101, 695]
    Detected at: qqrp_Session::GetObjectById
    Last TOOL statement: method EFWindowController.EFEventLoop
    Error Time: Tue Nov 18 15:58:47
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
    taskId =
    [7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
    "ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
    The remainder of the Error Manager stack is:
    SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
    (fetch
    bitmask is 0x20). Your workspace is now read-only to prevent the
    application
    from attempting to write to the repository. The repository and work you
    have
    saved to the repository are safe. If your workspace contains unsaved work,
    you
    may use the following procedure to save this work. First, export the
    changed
    components. Then, shut down and restart this application and reopen this
    workspace in read-write mode. Finally, import the changed components and
    save
    your workspace.
    Class: qqrp_RepResourceException
    Error #: [1101, 61]
    Detected at: qqrp_LogicalSession::MaterializeObject
    Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
    Error Time: Tue Nov 18 15:58:47
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
    taskId =
    [7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
    "ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
    SYSTEM ERROR: Unknown Mark type in deserialization.
    Class: qqsp_ImplementationException
    Error #: [1101, 34]
    Detected at: qqrp_DeSerializeObject::ProcessHdr
    Error Time: Tue Nov 18 15:58:47
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
    taskId =
    [7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
    "ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
    ERROR STACK 2
    SYSTEM ERROR: A serious error has occurred in Repository
    (c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
    Notify
    your repository administrator.
    Class: qqsp_ImplementationException
    Error #: [1101, 198]
    Detected at: qqrp_Repository::Fetch
    Last TOOL statement: method
    SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
    Error Time: Wed Dec 03 10:27:22
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
    taskId =
    [769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
    "ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
    SYSTEM ERROR: Could not read record (64,74615) from repository data file.
    Header is corrupt.
    Class: qqsp_ImplementationException
    Error #: [1106, 612]
    Detected at: qqbt_BtreeAccess::FetchDataFileRecord
    Error Time: Wed Dec 03 10:27:22
    Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
    (partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
    taskId =
    [769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
    "ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
    Technote 11225 Don't reparent mapped Widgets between UserWindows at
    runtime
    It is sometimes tempting to unparent a widget from one UserWindow and
    reparent
    it into another at runtime. However, this can cause crashes if the widget
    (or
    its decendants) are "mapped" to data. Here's why...
    Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
    (DF1)
    which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
    mapped to
    a scalar Integer. At compile time, every mapped attribute is internally
    assigned
    a "Map ID" (a small integer) which is used to tie the Widget to its
    corresponding attribute. These Map IDs are used by the Widget to look up a
    pointer to their data in a "Map" which is maintained by the UserWindow.
    Each
    UserWindow is assumed be to independent of the others, so there is nothing
    wrong
    with Widgets in different UserWindows being assigned the same Map IDs.
    In
    this
    case, let's assume that DF1 and RL2 both got assigned the same Map ID of
    3. No
    problem so far, since each lives in a separate UserWindow with a separate
    map.
    Now suppose at runtime the application "detaches" or unparents DF1 from
    its
    UserWindow and reparents it somewhere into UW2. When it comes time for DF1
    to
    paint itself the Display System it must ask the Runtime System for the
    value of
    DF1's mapped attribute. To do that it says "give me the value of the
    TextData
    for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
    ID is
    3". When the runtime system goes to do this it expects to find a TextData
    in
    this "slot" of the map, but instead it picks up the integer which is
    mapped to
    RL2. At best this leads to bad data being returned; more likely you get a
    segfault and a crash.
    If DF1 was not a mapped attribute (say, a Rectangle) there would be no
    problem
    because there is no data mapped to a Rectangle. If instead of moving DF1
    you
    created a brand new DataField on the fly there would be no problem,
    because the
    dynamic DataField would not have any Map ID and so couldn't conflict with
    any
    IDs in UW2.
    So how do you solve this problem? This is exactly what Nested Windows are
    all
    about. While you can't move DF1 into the middle of UW2, you can nest
    UW1.
    This
    works because UW1 brings its map with it, and when you access DF1 it knows
    to
    look up its value in UW1's map.
    UserWindows are intended to be the "unit of compilabilty" that can be
    nested
    inside other UserWindows. It is dangerous to "transplant" anything from
    inside
    one UserWindow into another at runtime.
    (Note that you can't avoid this problem by cloning DF1 because the MapID
    gets
    copied along with it, and the clone will fail in the same way.)
    Further details explained in related technote 12448 'Sudden client
    partition
    crashes at runtime.'
    Technote 12448 Sudden client partition crashes at runtime
    Scenario : You have two UserWindows, A and B. When Window A starts up, it
    instantiates an instance of B and reparents some component of B into A's
    window
    hierarchy.
    This is not allowed and almost always leads to an error at best or at
    worse a
    segmentation fault.
    Here's why :
    When you compile a UserWindow in Forte, each "mapped attribute" (whether a
    form
    element or menu element) is assigned an internal ID which represents an
    offset into
    that UserWindow's table of mapped attributes. This offset is only valid
    in the
    context of the UserWindow in which it was compiled. If you detach a
    FieldWidget or
    MenuWidget from one compiled Window ("tmpMenu" for example) and then
    parent
    into another compiled window ("tmpWindow") the internal ID comes with it.
    When Forte tries to make use of that copied widget it uses the ID as an
    offset
    into tmpWindow's table of mapped attributes. But that copied offset is
    meaningless in the context of tmpWindow's table, so you get some kind off
    error.
    In this case it found that the data type of the variable in the slot
    wasn't
    what
    was expected. But you might even index off the end of the table and get a
    segmentation fault.
    There is nothing to prevent you from dynamically creating menu items and
    adding
    them to a window at runtime; that will work fine. Although of course you
    can't
    access them via mapped attributes, since those can only be created at
    compile time.
    But you are not allowed to reparent a widget from one compiled UserWindow
    into
    the hierarchy of another.
    More information may be found in technote 11225 'Don't reparent mapped
    Widgets
    between UserWindows at runtime'.
    Possible errorstacks seen at runtime instead of a complete crash or
    segmentation
    violation while you are illegally reparenting a widget or menuitem between
    windows
    at runtime:
    Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
    SYSTEM ERROR: Bad parameter at location 3 in method
    qqrt_MapClassAccess::ProcessSubjectData.
    Class: qqsp_Exception
    Error #: [1001, 381]
    Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
    Error Time: Wed Aug 09 13:03:57
    Exception occurred (locally) on partition "testproject_CL0_Client",
    (partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
    taskId =
    [D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
    "FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
    At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
    Hi,
    It is the unfixed defect 53398. Please contact Forte support.
    Zenon
    -----Original Message-----
    From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
    Sent: Tuesday, September 26, 2000 1:15 PM
    To: Forte User group
    Subject: (forte-users) 3J=>3M new to me error
    Hi,
    We are in the process of going from 3J1 to 3.0.M.2, and I am getting
    this error that I am unfamiliar with on a GUI that works fine in 3J.
    It
    does not happen all the time, and I have been unable to establish the
    pattern that kicks it off. Has anyone seen this before?
    PS- this error is not occurring in the deployed (non-compiled) app,but
    when I am running locally from my workspace.
    SYSTEM ERROR: Bad parameter at location 6 in method
    qqrt_MapClassAccess::ProcessSubjectData.
    Class: qqsp_Exception
    Error #: [1001, 381]
    Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition
    "ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
    taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    SYSTEM ERROR: Can't find scope 20070 for a class.
    Class: qqsp_Exception
    Error #: [201, 11]
    Detected at: qqlo_ClassTableLoadScope at 1
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    SYSTEM ERROR: Because of a prior error, your workspace was set to
    read-only to prevent the application from attempting to write to the repository.
    The repository and work you have saved to the repository are safe. If
    your
    workspace contains unsaved work, you may use the following procedure
    to save this work. First, export the changed components. Then, shut down and
    restart this application and reopen this workspace in read-write mode.
    Finally, import the changed components and save your workspace.
    Class: qqrp_RepResourceException
    Error #: [1101, 695]
    Detected at: qqrp_Session::IsDistributed
    Last TOOL statement: method PPMeasWin.
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition
    "ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    SYSTEM ERROR: Internal Error attempting to deserialize element
    (64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
    prevent
    the application from attempting to write to the repository. The
    repository
    and work you have saved to the repository are safe. If your workspace
    contains unsaved work, you may use the following procedure to savethis
    work.
    First, export the changed components. Then, shut down and restart this
    application and reopen this workspace in read-write mode. Finally, import the
    changed components and save your workspace.
    Class: qqrp_RepResourceException
    Error #: [1101, 61]
    Detected at: qqrp_LogicalSession::MaterializeObject
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition
    "ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
    Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
    Error #: [301, 231]
    Detected at: qqsp_DeSerializeDriver::Run at 1
    Error Time: Wed Sep 20 14:32:54
    Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
    (partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
    [36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
    application
    "Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in anew
    email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • Re: (forte-users) access violation caught in debugmode

    Eric,
    There has been a problem with Forte debug mode for sometime now when the app
    is silent. If you attempt to inspect the variables when the app is in the
    'silent' mode, i.e., waiting on an event loop for a user input or a system
    event, then you get the "Access violation caught ..." exception message and
    the workspace including the launch server crashes.
    If you are getting this problem in the 'step-through' mode, you should look
    at the lauch server immediately after you get the exception before
    everything disappears. There could be a stack backtrace due to some illegal
    reference. We have faced a similar situation before but the error appeared
    both in the 'debug' and 'run' modes.
    Hope this helps.
    Braja K Chattaraj.
    From: Eric Decossaux <[email protected]>
    To: forte mailing <[email protected]>
    Subject: (forte-users) access violation caught in debug mode
    Date: Thu, 23 Sep 1999 17:31:39 +0200
    Hello,
    I have a problem using Forte in debug mode. If I run my program on my NT
    machine from the partition workshop (distributed run), the program works
    fine except that some object does not display what I'm expecting. So I
    want to use the debug mode to inspect the objets of this window. When I
    choose the "local variables" option to see the content of my window, I
    have a "access violation caught" and forte disappears. If I just let my
    program run without choosing this option, everything is the same than
    with the distributed run.
    Does somebody have an idea what to look for ? I really want to look the
    inside the attributes of this window.
    We recently upgraded from release 30G2 to release 30L2. Could it be the
    problem ?
    Eric Decossaux
    Cliniques Universitaires St Luc
    Informatique des Laboratoires
    av Hippocrate 10 / 1730
    1200 Bruxelles
    +32+2+764 17 53
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

    Eric,
    Another possibility has to do with the repository. You said you recently
    migrated 30G2 to release 30L2.
    Many strange problems have been traced to release migrations with old
    repositories. If the repository was properly migrated another thing you can try
    is to export the project(s) to PEX files, delete them from the repository, and
    then re-import. I know this can be time consuming but I have solved more than
    one unexplained problem in the IDE by doing it.
    ---------------------- Forwarded by Charlie Shell/Bsg/MetLife/US on 09/23/99
    01:19 PM ---------------------------
    "Ajith Kallambella" <[email protected]> on 09/23/99 12:08:54 PM
    To: [email protected], [email protected]
    cc: (bcc: Charlie Shell/Bsg/MetLife/US)
    Subject: Re: (forte-users) access violation caught in debug mode
    Eric,
    Sometimes( 90% ) you can solve this problem by
    checking out the class that is causing the crash
    and force-compiling it.
    If it doesn't help, run through this checklist.
    1. Do you have enough memory resources.?
    2. Is the object you are inspecting held in a lock ?
    ( mutex, transaction lock etc )
    3. Does it work when you wait for sometime at the
    breakpoint before inspecting the values? I mean
    are you interrupting some process thread?
    4. Does it work if you log the attributes using logmgr?
    5. Are you using any call-outs/call-ins? Any external
    systems integration? Sometimes( for reasons beyond
    my comprehension ) the objects allocated outside
    Forte gets corrupted when its passed back and forth.
    6. ...finally...Santa Clause, help me!
    Ajith Kallambella M.
    Forte Systems Consultant.
    From: Eric Decossaux <[email protected]>
    To: forte mailing <[email protected]>
    Subject: (forte-users) access violation caught in debug mode
    Date: Thu, 23 Sep 1999 17:31:39 +0200
    Hello,
    I have a problem using Forte in debug mode. If I run my program on my NT
    machine from the partition workshop (distributed run), the program works
    fine except that some object does not display what I'm expecting. So I
    want to use the debug mode to inspect the objets of this window. When I
    choose the "local variables" option to see the content of my window, I
    have a "access violation caught" and forte disappears. If I just let my
    program run without choosing this option, everything is the same than
    with the distributed run.
    Does somebody have an idea what to look for ? I really want to look the
    inside the attributes of this window.
    We recently upgraded from release 30G2 to release 30L2. Could it be the
    problem ?
    Eric Decossaux
    Cliniques Universitaires St Luc
    Informatique des Laboratoires
    av Hippocrate 10 / 1730
    1200 Bruxelles
    +32+2+764 17 53
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

  • RE: forte-users-digest Digest V00 #186

    Just a follow up to the TIFF Problem.
    Try using the WANG Image edit control (supports 32-bit OLE) Copyright
    Wang Laboratories, Inc. 1995-1996..
    It should be available free on the net or if you have Microsoft Visual
    Studio 6.0 it comes with it. make sure you make the control invisible so
    that it does not show up.
    - Ravi.
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Wednesday, May 17, 2000 8:05 AM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #186
    forte-users-digest Digest Volume 00 : Issue
    186
    Today's Topics:
    RE: forte-users-digest Digest V00 #185
    Intermittent database problems
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive
    * To unsubscribe, send in a new email the word 'Unsubscribe' to:
    forte-users-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 18:30:00 -0700
    From: "Balakrishna, RavikumarX" <ravikumarx.balakrishnaintel.com>
    To: forte-userslists.xpedior.com, forte-users-digestlists.xpedior.com
    Subject: RE: forte-users-digest Digest V00 #185
    Message-ID:
    <0428AD6295E1D211AC4400A0C969E8A2045C29FAorsmsx43.jf.intel.com>
    Content-Type: text/plain
    Hi,
    The only work around I can see to your problem is to convert the TIFF
    to
    any other format that forte supports. You could use Microsoft's Image
    Composer to do this. As far as I can see your requirement is runtime. I
    would suggest using Windows imaging ( an image edit control, that is an
    active-x control ). Use this control to perform a SaveAs operation on the
    TIFF file to save it as a GIF and then use the converted GIF to place it
    in
    your Forte Object. I know it works in C++ so it should surely work in
    forte too. I don't have the documentation for the image edit control,
    but
    Iam sure there are lot of similar controls out there . And make sure
    you
    save the file in a format that supports mutiple page formats. ( i.e
    prefer
    GIF to BMP when you convert)
    Hope this Helps,
    - Ravi Balakrishna
    Automation Software Engineer
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Tuesday, May 16, 2000 3:05 PM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #185
    forte-users-digest Digest Volume 00 : Issue
    185
    Today's Topics:
    Tiff images again.....
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive
    * To unsubscribe, send in a new email the word 'Unsubscribe' to:
    forte-users-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 11:07:25 -0400
    From: "Jones, Gail A" <gail.joneseds.com>
    To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    Subject: Tiff images again.....
    Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
    Content-Type: text/plain;
    charset="iso-8859-1"
    I need to place TIFF images in a Forte Object to display on a client
    window.
    Does anyone have any tips or code that you would be willing to sharethat
    can help me do that. I checked with Forte the other day and found theydo
    not support the TIFF format.
    Thanks much,
    Gail Jones
    EDS Medi-Cal
    Sacramento, Ca.
    End of forte-users-digest Digest V00 Issue #185
    Date: Wed, 17 May 2000 08:34:01 -0600
    From: joe.wolfesasktel.sk.ca
    To: kamranaminyahoo.com
    Subject: Intermittent database problems
    Message-Id: <062568E2.00500AC5.00regn0683nt.sasktel.sk.ca>
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline
    We have a Forte server running on HP_UX 10.2. It connects to an Oracle
    database
    on AIX. Over the past several months we have received intermittent
    failures
    that neither we nor our Oracle support team have been able to resolve
    (example
    below). Prior to the error occuring the partition can be operating
    successfully for several days. When this error occurs the IsConnected
    instrument on the DBSession is still shown as TRUE, and there are no error
    counts on the instruments. After cycling the partition everything runs
    fine for
    between a day and a month. If anybody has a resolution, or even a good
    hunch
    I'd appreciate hearing it.
    Attached to manager for node capri.
    SYSTEM ERROR: OpenCursor failed for SQL statement in project CTISvcs,
    class
    LookUpInfoMgr, method LoadAgent, methodId 4, line 55, error from
    database is:
    ORA-02019: connection description for remote database not found
    Class: qqdb_ResourceException
    Detected at: qqdb_OracleVendorInfo::DoOexn
    Error Time: Wed May 17 07:42:42
    Oracle error: 2019, Server: DBP13, UserName: forte_c3
    Database Statement: select a.cctr_agt_id CareCentreAgentID , a.emp_id
    EmployeeID , a.eff_fr_dat EffectiveFromDate , a.eff_to_dat
    EffectiveToDate
    , a.cctr_agt_gr_id CareCentreGroupID , RTrim ( InitCap ( b.fst_nm )
    EmployeeFirstName , RTrim ( InitCap ( b.srnm ) ) EmployeeLastName
    from
    t_cctr_agt a , t_emp b where a.emp_id = b.emp_id
    Exception occurred (locally) on partition "TServRM1_cl0_Part2",
    (partitionId = A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x31d, taskId =
    [A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x320.777]) in application
    "TServRM1_cl0", pid 24249 on node capri in environment prodenv.
    TIA,
    Joe Wolfe, External Programmer Analyst
    SaskTel
    email: joe.wolfesasktel.sk.ca
    End of forte-users-digest Digest V00 Issue #186

    Just a follow up to the TIFF Problem.
    Try using the WANG Image edit control (supports 32-bit OLE) Copyright
    Wang Laboratories, Inc. 1995-1996..
    It should be available free on the net or if you have Microsoft Visual
    Studio 6.0 it comes with it. make sure you make the control invisible so
    that it does not show up.
    - Ravi.
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Wednesday, May 17, 2000 8:05 AM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #186
    forte-users-digest Digest Volume 00 : Issue
    186
    Today's Topics:
    RE: forte-users-digest Digest V00 #185
    Intermittent database problems
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive
    * To unsubscribe, send in a new email the word 'Unsubscribe' to:
    forte-users-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 18:30:00 -0700
    From: "Balakrishna, RavikumarX" <ravikumarx.balakrishnaintel.com>
    To: forte-userslists.xpedior.com, forte-users-digestlists.xpedior.com
    Subject: RE: forte-users-digest Digest V00 #185
    Message-ID:
    <0428AD6295E1D211AC4400A0C969E8A2045C29FAorsmsx43.jf.intel.com>
    Content-Type: text/plain
    Hi,
    The only work around I can see to your problem is to convert the TIFF
    to
    any other format that forte supports. You could use Microsoft's Image
    Composer to do this. As far as I can see your requirement is runtime. I
    would suggest using Windows imaging ( an image edit control, that is an
    active-x control ). Use this control to perform a SaveAs operation on the
    TIFF file to save it as a GIF and then use the converted GIF to place it
    in
    your Forte Object. I know it works in C++ so it should surely work in
    forte too. I don't have the documentation for the image edit control,
    but
    Iam sure there are lot of similar controls out there . And make sure
    you
    save the file in a format that supports mutiple page formats. ( i.e
    prefer
    GIF to BMP when you convert)
    Hope this Helps,
    - Ravi Balakrishna
    Automation Software Engineer
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Tuesday, May 16, 2000 3:05 PM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #185
    forte-users-digest Digest Volume 00 : Issue
    185
    Today's Topics:
    Tiff images again.....
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive
    * To unsubscribe, send in a new email the word 'Unsubscribe' to:
    forte-users-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 11:07:25 -0400
    From: "Jones, Gail A" <gail.joneseds.com>
    To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    Subject: Tiff images again.....
    Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
    Content-Type: text/plain;
    charset="iso-8859-1"
    I need to place TIFF images in a Forte Object to display on a client
    window.
    Does anyone have any tips or code that you would be willing to sharethat
    can help me do that. I checked with Forte the other day and found theydo
    not support the TIFF format.
    Thanks much,
    Gail Jones
    EDS Medi-Cal
    Sacramento, Ca.
    End of forte-users-digest Digest V00 Issue #185
    Date: Wed, 17 May 2000 08:34:01 -0600
    From: joe.wolfesasktel.sk.ca
    To: kamranaminyahoo.com
    Subject: Intermittent database problems
    Message-Id: <062568E2.00500AC5.00regn0683nt.sasktel.sk.ca>
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline
    We have a Forte server running on HP_UX 10.2. It connects to an Oracle
    database
    on AIX. Over the past several months we have received intermittent
    failures
    that neither we nor our Oracle support team have been able to resolve
    (example
    below). Prior to the error occuring the partition can be operating
    successfully for several days. When this error occurs the IsConnected
    instrument on the DBSession is still shown as TRUE, and there are no error
    counts on the instruments. After cycling the partition everything runs
    fine for
    between a day and a month. If anybody has a resolution, or even a good
    hunch
    I'd appreciate hearing it.
    Attached to manager for node capri.
    SYSTEM ERROR: OpenCursor failed for SQL statement in project CTISvcs,
    class
    LookUpInfoMgr, method LoadAgent, methodId 4, line 55, error from
    database is:
    ORA-02019: connection description for remote database not found
    Class: qqdb_ResourceException
    Detected at: qqdb_OracleVendorInfo::DoOexn
    Error Time: Wed May 17 07:42:42
    Oracle error: 2019, Server: DBP13, UserName: forte_c3
    Database Statement: select a.cctr_agt_id CareCentreAgentID , a.emp_id
    EmployeeID , a.eff_fr_dat EffectiveFromDate , a.eff_to_dat
    EffectiveToDate
    , a.cctr_agt_gr_id CareCentreGroupID , RTrim ( InitCap ( b.fst_nm )
    EmployeeFirstName , RTrim ( InitCap ( b.srnm ) ) EmployeeLastName
    from
    t_cctr_agt a , t_emp b where a.emp_id = b.emp_id
    Exception occurred (locally) on partition "TServRM1_cl0_Part2",
    (partitionId = A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x31d, taskId =
    [A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x320.777]) in application
    "TServRM1_cl0", pid 24249 on node capri in environment prodenv.
    TIA,
    Joe Wolfe, External Programmer Analyst
    SaskTel
    email: joe.wolfesasktel.sk.ca
    End of forte-users-digest Digest V00 Issue #186

  • RE: (forte-users) Help on 'The class has been voided andcannot be insta

    PB Solved.
    The symtom was that my 'windows' plan that I distrubute call
    the StartMethod of a class defined higher in the hierarchy,
    and I had to specify that plan as direct supplier plan of my
    new project for the 'voided' not to happen.
    cheers
    j-p
    -----Message d'origine-----
    De: Jean-Paul Gabrielli [mailto:Jean-Paul.Gabriellisema.fr]
    Date: mercredi 5 juillet 2000 12:08
    &Agrave;: Klerk, Theo de
    Objet: RE: (forte-users) Help on 'The class has been voided and cannot
    be instanciated' plz
    the issue is as follows:
    I distribute a plan A
    I want to rename the plan,
    and create a plan B that has A as supplier.
    Distributing B wor'ks
    Running it fails with that issue.
    Actually I recreated supplierplans in B as they were defined in A,
    and the problem disappeared.
    thansk for your time
    j-paul
    -----Message d'origine-----
    De: Klerk, Theo de [mailto:Theo.de.Klerkcompaq.com]
    Date: mardi 4 juillet 2000 22:31
    &Agrave;: 'Jean-Paul.Gabriellisema.fr'
    Objet: RE: (forte-users) Help on 'The class has been voided and cannot
    be instanciated' plz
    Jean-Paul,
    It would help if you have a bit more description around thesituation when
    this error happens.
    Could it be you have two service objects that refer to each other
    while the
    partition is still starting up? (SO's are not supposed to talk to
    each other
    during partition startup).
    Or was the partition up and running?
    Has the service object been in existence and used before itbecame voided?
    Is the partition compiled or interpreted?
    Theo de Klerk
    Architecture & Application Integration
    Professional Services
    Compaq Computer Corp. - the Netherlands
    PGP Fingerprint: 5A70 DD56 F3BA FE04 9DCA 1ACE 8581 0A2F F057 FA6E
    -----Original Message-----
    From: Jean-Paul Gabrielli [mailto:Jean-Paul.Gabriellisema.fr]
    Sent: Tuesday, 04 July, 2000 18:17
    To: Forte-Users
    Subject: (forte-users) Help on 'The class has been voided and
    cannot be
    instanciated' plz
    Hi,
    Here's the stack I get:
    SYSTEM ERROR: Failed to create service object
    BOS.MyServicesMgrSO.
    Class: qqsp_ResourceException
    Error Time: Tue Jul 4 18:05:07
    Exception occurred (locally) on partition "BC_cl0_Part3",
    (partitionId =
    AF3B67A0-3335-11D4-BE9D-963C5A7FAA77:0x224, taskId =
    [AF3B67A0-3335-11D4-BE9D-963C5A7FAA77:0x224.6]) in application
    "BC_cl0", pid 10328 on node MyServerin environment
    CentralEnv.
    SYSTEM ERROR: The class MyServericesMgr has been voided and cannot
    be
    instantiated in this partition.
    Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
    Error #: [201, 14]
    Detected at: qqlo_VoidedClassException at 1
    Error Time: Tue Jul 4 18:05:07
    Exception occurred (locally) on partition
    "BC_cl0_Part3",
    (partitionId =
    AF3B67A0-3335-11D4-BE9D-963C5A7FAA77:0x224, taskId
    =
    [AF3B67A0-3335-11D4-BE9D-963C5A7FAA77:0x224.6]) in
    application
    "BC_cl0", pid 10328 on node MyServer in
    environment
    CentralEnv.
    aud Tue Jul 4 18:05:07 : Shutting down partition due to
    failure of this
    partition.
    aud Tue Jul 4 18:05:07 : Shutting down partition as requested.
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com

    Hi Sylvain
    Try using window.smallIconImage =
    ImageData(<TitleBarIcon>.ImageValue) ;
    This should work.
    Jairaj Rampershad
    System Concultant
    --- Sylvain_Por&eacute;e <Sylvain.Poreesophia.sema.fr>
    wrote:
    Hi Forte Gurus,
    I have tried to set an icon using this statement :
    window.SmallIconImage =
    aIconFile.<TitleBarIcon>.imagevalue;
    where <TitleBarIcon> is a PictureGraphic in my
    window workshop.
    I have tried 16*16 16 colours as well as many other
    arrangements. It does
    not work. I use windows NT.
    Any ideas ?
    Thanks
    Sylvain
    PS : For info (forte help):
    SmallIconImage
    Data Type ImageData
    Source Class Window
    Settable? Yes
    The SmallIconImage attribute (ImageData) provides
    the small icon to be used
    when the window is iconized, for example, in the
    task bar. The image size
    for a small icon should be 16 by 16 pixels. Although
    the image will be
    scaled if you provide one of a different size, for
    best results, we
    recommend that you create your icons in the same
    size in which they will be
    displayed.
    Windows 95/NT only
    This feature is available on Windows 95/NT only. On
    other platforms, the
    attribute is ignored.
    For the archives, go to:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To
    unsubscribe, send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com

  • Re: (forte-users) Session management for page builder(fwd)

    Jaco,
    Hope this helps,
    John
    John Soper, Information Systems Development, ITS, The University of Melbourne
    email: j.soperits.unimelb.edu.au >>>> Tel: 9344 5612---------- Forwarded message ----------
    Date: Mon, 10 Jan 2000 16:34:31 +1100
    From: Lyle Winton <L.Wintonits.unimelb.edu.au>
    To: John Soper <j.soperits.unimelb.edu.au>
    Subject: Re: (forte-users) Session management for page builder (fwd)
    Why not construct an intermediate page after the
    login page that has SESSION_UNSPECIFIED and
    a refresh META tag. The page can then refresh
    to either the login failed or login succeeded pages
    depending on how the login went! Looks like...
    1) Login page (SESSION_UNSPECIFIED)
    2A) Refresh page (SESSION_UNSPECIFIED)
    < HTML >
    < HEAD >
    < META http-equiv="refresh"
    content="0;URL=<a href=
    "http://www.blah.com/forte.cgi?PageName=3">http://www.blah.com/forte.cgi?PageName=3</a>" >
    < /HEAD >
    < BODY >
    Login succeeded. Please wait...
    < /BODY >
    < /HTML >
    2B) Refresh page (SESSION_UNSPECIFIED)
    < HTML >
    < BODY >
    Login failed.
    < /BODY >
    < /HTML >
    3) We're finally in. (SESSION_REQUIRED)
    I'm not sure if this works on internet exploder.
    Lyle.
    John Soper wrote:
    Lyle,
    (Post from forte mailing group)
    Does this make sense to you?
    John
    John Soper, Information Systems Development, ITS, The University of Melbourne
    email: j.soperits.unimelb.edu.au >>>> Tel: 9344 5612---------- Forwarded message ----------
    Date: Thu, 30 Dec 1999 07:54:24 +0200
    From: "Jaco Erasmus (home)" <jacoerasmweb.co.za>
    To: kamranaminyahoo.com
    Subject: (forte-users) Session management for page builder
    Hi everybody,
    We have a lot of legacy code making use of the page builder service to
    produce web pages. These pages were originally written without session
    management. I'm now busy adding session management to them, but there is
    one problem with this approach and I will appreciate if someone can shed
    some light on it. Here it is:
    Page one is submitted.
    Some validation (authentication) takes place and depending on the outcome,
    either page 2A (SESSION_REQUIRED) or 2B (error page with
    SESSION_UNSPECIFIED) must be displayed. In order to implement this, I
    needed a place to make a decision. The way I've done it, is to pass a
    'virtual page' (SESSION_UNSPECIFIED) to the page builder service. The
    validation is done here and request.PageName is then replaced with the
    PageName of pages 2A or 2B. The HandleRequest() method is then called
    again. The problem is that the ValidateSession() method does not get
    invoked again, thus allowing 2A through without a session. How do I make
    sure that the ValidateSession() method get invoked again?
    The approach making use of templates look to me as if it has all the means
    to do this (redirect tag), but I don't want to rewrite everything if I
    don't have to. Is there a way that a pagebuilder page can be specified by
    the redirect tag? This will definitely help, but so far I've only managed
    to call templates from the redirect tag.
    Is the template approach better suited for session management? It is
    definetely better documented...
    Regards.
    Jaco
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.sageit.com

    Hi,
    i hope this helps
    http://help.sap.com/saphelp_nw70/helpdata/EN/7e/aa610cc1dd8f4388b1df02fc362f0f/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/EN/69/c250754ba111d189750000e8322d00/frameset.htm
    regards,
    Anil.

  • RE: (forte-users) Serialisation

    Singh,
    Any message sent across partition boundaries is serialized. This includes
    method invokations, events and exceptions. The signature of the message
    itself is serialized, as well as the values of all parameters/attributes.
    Serializing a scalar value requires less overhead then serialising an
    object, however, the difference isn't as big as you might think. Objects
    have more attributes then just the value you're interested in and these
    attributes are serialised as well. Each object is an instance of a class and
    each class has a UUID, which is added to the serialized stream as well.
    However, methods are NOT serialised. What happens is this. Forte serializes
    an object into a stream containing only the values of the attributes
    (including nested attributes). This stream is given a header which sais of
    which class this object is an instance (the UUID is used for that). The
    receiving partition reads the serialized stream, finds the definition of the
    class (defined by UUID) in its own code, creates an instance of this class
    and fills the data out of the serialized stream into this new object.
    You can imagine what might happen if there is a mismatch between the
    class-definitions in both partitions. You either get
    serialization-deserialization errors, or the receiving partition complains
    that it doesn't even know the UUID of the received streamed object, or you
    get no errors at all and just have an object that displays different
    behaviour, depending what partition it's in.
    If there are no problems, then the main issue is the
    serializing-deserializing overhead. Note that the receiving partition has to
    instantiate a new object for every serialized object it receives and will
    therefore execute all code in the Init() method. This overhead is not
    required for scalar types, for which Forte only needs to reserve a small
    amount of memory space on the stack.
    Any call to a database is also a message sent across partitions and is
    therefore serialized. However, one partition is a Forte partition and the
    other one isn't. Therefore, Forte's internal serialization mechanism isn't
    used. Forte serializes the SQL-query into a format understood by the
    database (which is different for every vendor). Forte then receives a stream
    back which has a different format for every different database type. This
    stream is deserialized and written to attributes that Forte has reserved to
    contain the data. Whether these are scalar, datavalues or domains only
    impacts performance inside the Forte partition. It has no effect on the
    communication with the database.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Singh [mailto:fortelistyahoo.com]
    Sent: Thursday, February 22, 2001 3:30 AM
    To: forte-userslists.xpedior.com
    Subject: (forte-users) Serialisation
    Hello All
    I have a question that has been bugging me for some
    time.
    We all know that it is better to use scalar data
    types, as opposed to objects, when passing data across
    a network.
    The reason, if I understand correctly, is that when
    you send an object across a network, the whole object
    (properties, attributes and methods) is deserialised
    into zero's and one's before being sent across and
    then serialised back into the object when it gets to
    the other side. This would take longer for an object
    since for a scalar value, just the value is
    deserialised and serialised.
    But when you are writing to a database from the tier
    before the database to the database, does it matter
    what type you use. The reason for saying this is that
    the values are serialised before they go across and
    then deserialised when they get to the base, in other
    words, they are sent as zero's and one's. For a scalar
    - just the value is sent across but for an object -
    does just the value go across or the complete object.
    If just the value of the object goes across, then it
    doesn't really matter whether a scalar or object is
    sent across.
    Am I correct in this assumption.
    Thanks in advance for your help.
    Regards,
    Singh
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    Hi,
    I cannot get hold of Tech Note 10398..... can anyone email me a copy?
    Tx
    Etienne
    -----Original Message-----
    From: Klerk, Theo de [SMTP:Theo.de.Klerkcompaq.com]
    Sent: Wednesday, February 09, 2000 4:26 PM
    To: 'Jason de Cean'; 'Forte Users'
    Subject: RE: (forte-users) Serialisation
    There are a number of flags that will show you some of the required
    information in a log file (not within the application itself). Technote
    10398 has many more flags listed for a variety of obscure, useful, not so
    useful and exotic information:
    trc:cm:*:4 and *:8 - show packet serialisation, open, closes between
    partition communication
    trc:do:*:2 - proxy creation/deletion, exception events
    trc:do:*:5 - individual message tracing between proxies
    trc:do:*:8 - serialisation information
    Theo
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • RE: (forte-users) Class compatibility

    Pascal,
    Basically the way to work with objects as parameters is to ensure that
    sending and receiving parties have the same knowledge of the underlying
    classes of these objects.
    o Partitions in one application, generated at distribution time always are
    "in sync" with one another as they use the same class definitions specified
    through the supplier plan relationships of the main project
    o Applications distributed independently that exchanging objects only
    understand the common set of class definitions.
    For example, a Forte Conductor engine object is built using the standard
    Forte Framework classes. Its API specifies things like "DataValue" objects.
    Sending it a TextData is fine, sending it MyOwnTextData is not - the other
    application has no clue what that (sub)class is supposed to be as it did not
    know at the time it was built.
    This is also true in cases where applications use libraries and these are
    given objects of (sub)classes it knows nothing about.
    All of these generate serialisation errors of some sort since the flattened
    object that is sent across the wire cannot be reconstructed at the receiving
    end by lack of a blueprint (class definition) on how to create such an
    object.
    Theo de Klerk
    Architecture & Application Integration
    Professional Services
    Compaq Computer Corp. - the Netherlands
    PGP Fingerprint: 5A70 DD56 F3BA FE04 9DCA 1ACE 8581 0A2F F057 FA6E

    Theo,
    I understand all of that. Of course we make sure that all components use the
    same blueprints for all classes. However, in case we managed to get these
    blueprints out of sync, we don't want the application to simply crash. We
    want to trap this exception and print a message that says: "There seems to
    be a compatability problem between components. Please make sure the latest
    version of all application components have been installed."
    Of course we can trap all exceptions (GenericException) and ignore all of
    them after displaying them, but that seems like a blunt-axe-approach. I'm
    looking for the scalpel.
    Pascal Rottier
    Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Klerk, Theo de [mailto:Theo.de.Klerkcompaq.com]
    Sent: Wednesday, October 18, 2000 5:15 PM
    To: Rottier, Pascal; 'Forte Users'
    Subject: RE: (forte-users) Class compatibility
    Pascal,
    Basically the way to work with objects as parameters is to ensure that
    sending and receiving parties have the same knowledge of the underlying
    classes of these objects.
    o Partitions in one application, generated at distribution time always are
    "in sync" with one another as they use the same class definitions specified
    through the supplier plan relationships of the main project
    o Applications distributed independently that exchanging objects only
    understand the common set of class definitions.
    For example, a Forte Conductor engine object is built using the standard
    Forte Framework classes. Its API specifies things like "DataValue" objects.
    Sending it a TextData is fine, sending it MyOwnTextData is not - the other
    application has no clue what that (sub)class is supposed to be as it did not
    know at the time it was built.
    This is also true in cases where applications use libraries and these are
    given objects of (sub)classes it knows nothing about.
    All of these generate serialisation errors of some sort since the flattened
    object that is sent across the wire cannot be reconstructed at the receiving
    end by lack of a blueprint (class definition) on how to create such an
    object.
    Theo de Klerk
    Architecture & Application Integration
    Professional Services
    Compaq Computer Corp. - the Netherlands
    PGP Fingerprint: 5A70 DD56 F3BA FE04 9DCA 1ACE 8581 0A2F F057 FA6E
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • RE: forte-users-digest Digest V00 #185

    Hi,
    The only work around I can see to your problem is to convert the TIFF to
    any other format that forte supports. You could use Microsoft's Image
    Composer to do this. As far as I can see your requirement is runtime. I
    would suggest using Windows imaging ( an image edit control, that is an
    active-x control ). Use this control to perform a SaveAs operation on the
    TIFF file to save it as a GIF and then use the converted GIF to place it in
    your Forte Object. I know it works in C++ so it should surely work in
    forte too. I don't have the documentation for the image edit control, but
    Iam sure there are lot of similar controls out there . And make sure you
    save the file in a format that supports mutiple page formats. ( i.e prefer
    GIF to BMP when you convert)
    Hope this Helps,
    - Ravi Balakrishna
    Automation Software Engineer
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Tuesday, May 16, 2000 3:05 PM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #185
    forte-users-digest Digest Volume 00 : Issue
    185
    Today's Topics:
    Tiff images again.....
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive
    * To unsubscribe, send in a new email the word 'Unsubscribe' to:
    forte-users-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 11:07:25 -0400
    From: "Jones, Gail A" <gail.joneseds.com>
    To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    Subject: Tiff images again.....
    Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
    Content-Type: text/plain;
    charset="iso-8859-1"
    I need to place TIFF images in a Forte Object to display on a client
    window.
    Does anyone have any tips or code that you would be willing to share that
    can help me do that. I checked with Forte the other day and found they do
    not support the TIFF format.
    Thanks much,
    Gail Jones
    EDS Medi-Cal
    Sacramento, Ca.
    End of forte-users-digest Digest V00 Issue #185

    Hi,
    The only work around I can see to your problem is to convert the TIFF to
    any other format that forte supports. You could use Microsoft's Image
    Composer to do this. As far as I can see your requirement is runtime. I
    would suggest using Windows imaging ( an image edit control, that is an
    active-x control ). Use this control to perform a SaveAs operation on the
    TIFF file to save it as a GIF and then use the converted GIF to place it in
    your Forte Object. I know it works in C++ so it should surely work in
    forte too. I don't have the documentation for the image edit control, but
    Iam sure there are lot of similar controls out there . And make sure you
    save the file in a format that supports mutiple page formats. ( i.e prefer
    GIF to BMP when you convert)
    Hope this Helps,
    - Ravi Balakrishna
    Automation Software Engineer
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Tuesday, May 16, 2000 3:05 PM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #185
    forte-users-digest Digest Volume 00 : Issue
    185
    Today's Topics:
    Tiff images again.....
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive
    * To unsubscribe, send in a new email the word 'Unsubscribe' to:
    forte-users-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 11:07:25 -0400
    From: "Jones, Gail A" <gail.joneseds.com>
    To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    Subject: Tiff images again.....
    Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
    Content-Type: text/plain;
    charset="iso-8859-1"
    I need to place TIFF images in a Forte Object to display on a client
    window.
    Does anyone have any tips or code that you would be willing to share that
    can help me do that. I checked with Forte the other day and found they do
    not support the TIFF format.
    Thanks much,
    Gail Jones
    EDS Medi-Cal
    Sacramento, Ca.
    End of forte-users-digest Digest V00 Issue #185

  • Re: (forte-users) FW: (forte-users) Overflow Exception thatIcan't catch

    Dave
    If you use #,##0.00 template, forte won't allow you to enter more than 28 numbers.
    Nat
    "Campbell, Dave" <DCampbellpurolator.com> 01/28 10:49 AM >>>Thanks Zenon,
    You mean... that without the aftervaluechange event, I could catch this?
    Because by no means is my exception block anchored to that event.
    I am looking for advice of where I could put this exception block...if there
    is another possible place at all.
    Thanks.
    Dave
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    -----Original Message-----
    Hi Dave,
    You have no chance to catch this exception in aftervaluechange block.
    This event is triggered if the value in DataField is OK.
    You get only Arithmetic exception without the aftervaluechange event if the
    length of the decimal is greater as 28.
    Regards
    Zenon Adamek
    Forte Developer
    Purolator Courier Ltd.
    ZAdamekpurolator.com
    -----Original Message-----
    From: Campbell, Dave [SMTP:DCampbellpurolator.com]
    Sent: Friday, January 28, 2000 8:19 AM
    To: 'kamranaminyahoo.com'
    Subject: (forte-users) Overflow Exception that I can't
    catch...
    The problem is:
    I have a DataField, mapped type :DecimalNullable
    the input mask is set to Template ( #,##0;;;;)
    Because it is Template I can't validate on keystroke and
    I can't set the max characters in the properties sheet.
    This works great until, Someone enters over 28 characters into the
    field.
    It then displays the errors:
    USER ERROR: Operation caused arithmetic overflow
    Class: qqsp_ArithmeticException
    Error #: [301, 7]
    Deteced at: DecimalData.SetScale at 1
    ErrorTime: Thu Jan 27 15:50:48
    Exception occurred (locally) on partition
    "PurolatorApplications_CL0_Client" ,(partitionId =
    DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7, TASKiD =
    [DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7.492] in
    application
    "FTLaunch_c10",pid 279 on node W5300109 in environment centrale
    This is the first bit of code that executes when I leave the field
    and the
    value has changed:
    when <est_daily_rev_amt>.aftervaluechange do
    Begin
    sys_upd_usr_nam = aUserProfileBO.user_nam;
    aCPVDetailItem.SetState(base_detailItem.CHANGED_STATE);
    Exception
    when ex:ArithmeticException Do
    Task.ErrMgr.Clear();
    Window.MessageDialog(
    messageText='Revenue amount can not exceed
    100,000,000',
    MessageType=MT_WARNING);
    Self.Window.PurgeEvents();
    End;
    This is what I do:
    I put a debugging stop on the "when line" and the "Exception line"
    I also set the debugger to stop on all exceptions and posts.
    It never reaches the above code!?
    Is this a forte bug?
    I need the template and I need it to be a decimalnullable.
    Is there any suggestions for where else I may catch this
    Exception???
    Thanks in advance
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    Dave
    If you use #,##0.00 template, forte won't allow you to enter more than 28 numbers.
    Nat
    "Campbell, Dave" <DCampbellpurolator.com> 01/28 10:49 AM >>>Thanks Zenon,
    You mean... that without the aftervaluechange event, I could catch this?
    Because by no means is my exception block anchored to that event.
    I am looking for advice of where I could put this exception block...if there
    is another possible place at all.
    Thanks.
    Dave
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    -----Original Message-----
    Hi Dave,
    You have no chance to catch this exception in aftervaluechange block.
    This event is triggered if the value in DataField is OK.
    You get only Arithmetic exception without the aftervaluechange event if the
    length of the decimal is greater as 28.
    Regards
    Zenon Adamek
    Forte Developer
    Purolator Courier Ltd.
    ZAdamekpurolator.com
    -----Original Message-----
    From: Campbell, Dave [SMTP:DCampbellpurolator.com]
    Sent: Friday, January 28, 2000 8:19 AM
    To: 'kamranaminyahoo.com'
    Subject: (forte-users) Overflow Exception that I can't
    catch...
    The problem is:
    I have a DataField, mapped type :DecimalNullable
    the input mask is set to Template ( #,##0;;;;)
    Because it is Template I can't validate on keystroke and
    I can't set the max characters in the properties sheet.
    This works great until, Someone enters over 28 characters into the
    field.
    It then displays the errors:
    USER ERROR: Operation caused arithmetic overflow
    Class: qqsp_ArithmeticException
    Error #: [301, 7]
    Deteced at: DecimalData.SetScale at 1
    ErrorTime: Thu Jan 27 15:50:48
    Exception occurred (locally) on partition
    "PurolatorApplications_CL0_Client" ,(partitionId =
    DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7, TASKiD =
    [DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7.492] in
    application
    "FTLaunch_c10",pid 279 on node W5300109 in environment centrale
    This is the first bit of code that executes when I leave the field
    and the
    value has changed:
    when <est_daily_rev_amt>.aftervaluechange do
    Begin
    sys_upd_usr_nam = aUserProfileBO.user_nam;
    aCPVDetailItem.SetState(base_detailItem.CHANGED_STATE);
    Exception
    when ex:ArithmeticException Do
    Task.ErrMgr.Clear();
    Window.MessageDialog(
    messageText='Revenue amount can not exceed
    100,000,000',
    MessageType=MT_WARNING);
    Self.Window.PurgeEvents();
    End;
    This is what I do:
    I put a debugging stop on the "when line" and the "Exception line"
    I also set the debugger to stop on all exceptions and posts.
    It never reaches the above code!?
    Is this a forte bug?
    I need the template and I need it to be a decimalnullable.
    Is there any suggestions for where else I may catch this
    Exception???
    Thanks in advance
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • RE: (forte-users) FW: (forte-users) Overflow Exception thatI can't catc

    Nat,
    As I feared, This forces the user to enter decimals even if there are none.
    The Users Don't want this.
    So, i'm afraid i am back at beginning.. Trying to catch this exception..
    Thank you for your input.
    I would be happy to try anyone elses solution to this annoying issue.
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    Dave
    If you use #,##0.00 template, forte won't allow you to enter more than
    28 numbers.
    Nat
    "Campbell, Dave" <DCampbellpurolator.com> 01/28 10:49 AM >>>Thanks Zenon,
    You mean... that without the aftervaluechange event, I could catch this?
    Because by no means is my exception block anchored to that event.
    I am looking for advice of where I could put this exception block...if there
    is another possible place at all.
    Thanks.
    Dave
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    -----Original Message-----
    Hi Dave,
    You have no chance to catch this exception in aftervaluechange block.
    This event is triggered if the value in DataField is OK.
    You get only Arithmetic exception without the aftervaluechange event if the
    length of the decimal is greater as 28.
    Regards
    Zenon Adamek
    Forte Developer
    Purolator Courier Ltd.
    ZAdamekpurolator.com
    -----Original Message-----
    From: Campbell, Dave [SMTP:DCampbellpurolator.com]
    Sent: Friday, January 28, 2000 8:19 AM
    To: 'kamranaminyahoo.com'
    Subject: (forte-users) Overflow Exception that I can't
    catch...
    The problem is:
    I have a DataField, mapped type :DecimalNullable
    the input mask is set to Template ( #,##0;;;;)
    Because it is Template I can't validate on keystroke and
    I can't set the max characters in the properties sheet.
    This works great until, Someone enters over 28 characters into the
    field.
    It then displays the errors:
    USER ERROR: Operation caused arithmetic overflow
    Class: qqsp_ArithmeticException
    Error #: [301, 7]
    Deteced at: DecimalData.SetScale at 1
    ErrorTime: Thu Jan 27 15:50:48
    Exception occurred (locally) on partition
    "PurolatorApplications_CL0_Client" ,(partitionId =
    DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7, TASKiD =
    [DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7.492] in
    application
    "FTLaunch_c10",pid 279 on node W5300109 in environment centrale
    This is the first bit of code that executes when I leave the field
    and the
    value has changed:
    when <est_daily_rev_amt>.aftervaluechange do
    Begin
    sys_upd_usr_nam = aUserProfileBO.user_nam;
    aCPVDetailItem.SetState(base_detailItem.CHANGED_STATE);
    Exception
    when ex:ArithmeticException Do
    Task.ErrMgr.Clear();
    Window.MessageDialog(
    messageText='Revenue amount can not exceed
    100,000,000',
    MessageType=MT_WARNING);
    Self.Window.PurgeEvents();
    End;
    This is what I do:
    I put a debugging stop on the "when line" and the "Exception line"
    I also set the debugger to stop on all exceptions and posts.
    It never reaches the above code!?
    Is this a forte bug?
    I need the template and I need it to be a decimalnullable.
    Is there any suggestions for where else I may catch this
    Exception???
    Thanks in advance
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com

    Nat,
    As I feared, This forces the user to enter decimals even if there are none.
    The Users Don't want this.
    So, i'm afraid i am back at beginning.. Trying to catch this exception..
    Thank you for your input.
    I would be happy to try anyone elses solution to this annoying issue.
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    Dave
    If you use #,##0.00 template, forte won't allow you to enter more than
    28 numbers.
    Nat
    "Campbell, Dave" <DCampbellpurolator.com> 01/28 10:49 AM >>>Thanks Zenon,
    You mean... that without the aftervaluechange event, I could catch this?
    Because by no means is my exception block anchored to that event.
    I am looking for advice of where I could put this exception block...if there
    is another possible place at all.
    Thanks.
    Dave
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    -----Original Message-----
    Hi Dave,
    You have no chance to catch this exception in aftervaluechange block.
    This event is triggered if the value in DataField is OK.
    You get only Arithmetic exception without the aftervaluechange event if the
    length of the decimal is greater as 28.
    Regards
    Zenon Adamek
    Forte Developer
    Purolator Courier Ltd.
    ZAdamekpurolator.com
    -----Original Message-----
    From: Campbell, Dave [SMTP:DCampbellpurolator.com]
    Sent: Friday, January 28, 2000 8:19 AM
    To: 'kamranaminyahoo.com'
    Subject: (forte-users) Overflow Exception that I can't
    catch...
    The problem is:
    I have a DataField, mapped type :DecimalNullable
    the input mask is set to Template ( #,##0;;;;)
    Because it is Template I can't validate on keystroke and
    I can't set the max characters in the properties sheet.
    This works great until, Someone enters over 28 characters into the
    field.
    It then displays the errors:
    USER ERROR: Operation caused arithmetic overflow
    Class: qqsp_ArithmeticException
    Error #: [301, 7]
    Deteced at: DecimalData.SetScale at 1
    ErrorTime: Thu Jan 27 15:50:48
    Exception occurred (locally) on partition
    "PurolatorApplications_CL0_Client" ,(partitionId =
    DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7, TASKiD =
    [DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7.492] in
    application
    "FTLaunch_c10",pid 279 on node W5300109 in environment centrale
    This is the first bit of code that executes when I leave the field
    and the
    value has changed:
    when <est_daily_rev_amt>.aftervaluechange do
    Begin
    sys_upd_usr_nam = aUserProfileBO.user_nam;
    aCPVDetailItem.SetState(base_detailItem.CHANGED_STATE);
    Exception
    when ex:ArithmeticException Do
    Task.ErrMgr.Clear();
    Window.MessageDialog(
    messageText='Revenue amount can not exceed
    100,000,000',
    MessageType=MT_WARNING);
    Self.Window.PurgeEvents();
    End;
    This is what I do:
    I put a debugging stop on the "when line" and the "Exception line"
    I also set the debugger to stop on all exceptions and posts.
    It never reaches the above code!?
    Is this a forte bug?
    I need the template and I need it to be a decimalnullable.
    Is there any suggestions for where else I may catch this
    Exception???
    Thanks in advance
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com
    Regards,
    Dave Campbell
    Consultant,
    Caro Systems Inc.
    Mailto:Dave.CampbellCaroSys.com

  • Re: (forte-users) Formatting DecimaNullable withTemplate

    Hello Fabrizio,
    i don't look at your window, but we has the problem to check the input of a
    DecimalData
    with a specific mask. If the user type in wrong data (prescale/sucscale)
    then we have
    to inform the user and discard the changes.
    E.g. template='##,##'
    User types 5,123 Exception (Too many sucscale)
    User types -5,12 Exception (no Minus allowed)
    User types 123, Exception (Too many prescale)
    User types 12,12 No Exception (Value is accepted)
    User types 12,12+ No Exception (Value is accepted)
    The template check is implemented in the FillString/SetValue method of an
    inherited DecimalNullable-Class. I am wondering, if it is not possible to
    find a way
    reacting on your behaviour. You use a Domain.
    1. You have to implement the SetValue/Fillstring method for this domain.
    2. You must turn on KeyStroke reacting.
    3. You have to implement an EventHandler for reacting on the input which must
    be registered on your Display-based Event-Loop.
    4. MayBe som Code must be called from your Domain-Class on AfterValueChange
    Event
    at your Domain.
    A lot of work, i know. Maybe a lot of code for every Domain-Use in your
    Event-Loop. We
    made an Enhancement-Request for our problem, but there ar no solution now
    (2 years).
    The next problem you may have, if you use many attributes in your Domain.
    Because
    the transport (Serialize/Deserialize/Allocation) eats a lot of Performance.
    Direct filling from Database maybe a risk (SetValue-method with Parameter
    string).
    You have to check if you fill your class from implizit methods
    (GetValue-Method from
    DBDataSet) and so on that no code will running (Performance).
    Good Luck
    Joseph Mirwald
    PS: Use Decode-Method if possible instead of own implementation of
    string-manipulation
    because Framework-Lib-Calls ar much mor performant.
    At 11:19 17.02.01 +0100, Genesio, Fabrizio wrote:
    Hallo there,
    I wonder if there is someone who ever tried to obtain the following
    behavior.
    Using a user-defined domain based on a DecimalNullable, we would like to
    set the input mask (and/or its template) in order to have the widget
    behaving like a normal desk or pocket calculator. That is when start
    typing, you enter the integer part of the number (with thousand
    separator), and only when the dot is entered, you can type in the
    decimal part.
    We tried different templates but we never got what we want. Moreover,
    using 3.0.N.0 we also discovered a bug while using as first character
    in the template.
    Enclosed there is a little test window.
    Is there anybody who could help?
    Thank you in advance for your attention
    Ciao,
    Fabrizio Genesio
    Datasign AG f&uuml;r Informatik
    fabrizio.genesiodatasign.ch <mailto:fabrizio.genesiodatasign.ch>
    <<Atest.zip>>

    Thank you Joseph and thank you Zenon, for your answers.
    Yes, we tried with domain, implementing the FillString/Setvalue methods,
    and using the Decode method. And indeed is the decode method that always
    (no matter which regional settings you have) round the decimal part to 2
    digit.
    Nonetheless, I would be interested to receive if possible the domain you
    implemented, Joseph. We may still discover something... ;-)
    Thank you
    Fabrizio Genesio
    Datasign AG f&uuml;r Informatik
    ch. d'Eysins 53a
    CH-1260 Nyon
    Switzerland
    Tel.: +41 22 361 04 04
    Fax: +41 22 361 01 10
    e-mail: fabrizio.genesiodatasign.ch
    <mailto:fabrizio.genesiodatasign.ch>
    URL: www.datasign.ch <http://www.datasign.ch>
    -----Original Message-----
    From: Joseph Mirwald [SMTP:jomirweb.de]
    Sent: Saturday, 17 February 2001 12:32
    To: Genesio, Fabrizio; 'forte-userslists.xpedior.com'
    Subject: Re: (forte-users) Formatting DecimaNullable with
    Template
    Hello Fabrizio,
    i don't look at your window, but we has the problem to check the
    input of a
    DecimalData
    with a specific mask. If the user type in wrong data
    (prescale/sucscale)
    then we have
    to inform the user and discard the changes.
    E.g. template='##,##'
    User types 5,123 Exception (Too many sucscale)
    User types -5,12 Exception (no Minus allowed)
    User types 123, Exception (Too many prescale)
    User types 12,12 No Exception (Value is
    accepted)
    User types 12,12+ No Exception (Value is
    accepted)
    The template check is implemented in the FillString/SetValue
    method of an
    inherited DecimalNullable-Class. I am wondering, if it is not
    possible to
    find a way
    reacting on your behaviour. You use a Domain.
    1. You have to implement the SetValue/Fillstring method for this
    domain.
    2. You must turn on KeyStroke reacting.
    3. You have to implement an EventHandler for reacting on the
    input which must
    be registered on your Display-based Event-Loop.
    4. MayBe som Code must be called from your Domain-Class on
    AfterValueChange
    Event
    at your Domain.
    A lot of work, i know. Maybe a lot of code for every Domain-Use
    in your
    Event-Loop. We
    made an Enhancement-Request for our problem, but there ar no
    solution now
    (2 years).
    The next problem you may have, if you use many attributes in
    your Domain.
    Because
    the transport (Serialize/Deserialize/Allocation) eats a lot of
    Performance.
    Direct filling from Database maybe a risk (SetValue-method with
    Parameter
    string).
    You have to check if you fill your class from implizit methods
    (GetValue-Method from
    DBDataSet) and so on that no code will running (Performance).
    Good Luck
    Joseph Mirwald
    PS: Use Decode-Method if possible instead of own implementation
    of
    string-manipulation
    because Framework-Lib-Calls ar much mor performant.
    At 11:19 17.02.01 +0100, Genesio, Fabrizio wrote:
    >Hallo there,
    >
    >I wonder if there is someone who ever tried to obtain the
    following
    >behavior.
    >Using a user-defined domain based on a DecimalNullable, we
    would like to
    >set the input mask (and/or its template) in order to have the
    widget
    >behaving like a normal desk or pocket calculator. That is when
    start
    >typing, you enter the integer part of the number (with thousand
    >separator), and only when the dot is entered, you can type in
    the
    >decimal part.
    >
    >We tried different templates but we never got what we want.
    Moreover,
    >using 3.0.N.0 we also discovered a bug while using as first
    character
    >in the template.
    >
    >Enclosed there is a little test window.
    >
    >Is there anybody who could help?
    >
    >Thank you in advance for your attention
    >
    >Ciao,
    >
    >Fabrizio Genesio
    >Datasign AG f&uuml;r Informatik
    >fabrizio.genesiodatasign.ch
    <mailto:fabrizio.genesiodatasign.ch>
    >
    > <<Atest.zip>>

Maybe you are looking for

  • Installing Jdeveloper 11g on MAC OS 10.4.11?

    Has anyone successfully installed Jdeveloper 11g on MAC OS 10.4.11? I've found examples Jdeveloper 11g on MAC OS 10.5 but nothing on 10.4.11.

  • Passing dynamic internal table into ALV

    I have made one ALV report where i had created one button 'GENERATE'.  ON CLICKING THIS BUTTON the data in the ALV report is downloaded to excel file. i have used this:- CALL METHOD cl_gui_frontend_services=>file_save_dialog     EXPORTING       windo

  • Non-standard fonts in JOptionPane

    I have looked extensively through this forum, and no one has answered this specific question, even though it has been asked several different ways. Maybe someone has an answer now. I am writing a client app using Java 1.4.2_02 that needs to display m

  • Very Urgent..How to create a report Using SQ01 and Sq02.

    Hi Friends, It's very urgent.pl help  me in generating a report using SQ01 and SQ02. Help is appreciated. thanks In advance. Regards, Nanditha.

  • How to properly reference libraries when building executable

    Hi guys, So I've been working on porting a VI developed on 2009 Labview on Windows over to 8.2 on Linux. Initially I was having some problems because the program seem to have broken after the port but we realized it was some compatiblity with the TCP