ActiveX in Forte v3

Hello,
I'm trying to manage a financial printer using an activex control to
access it.
My problem is passing the VersionRequired variant attribute, I dont know
exactly the type object to pass to this attribute.
Using a VariantDispatcher type, Forte execute a exception saying that the
object isn't set as OLE object.
Using another variant type, ocurr a exception saying that the CDispatcher
are not code.
How can I to do it?
Tank and excuse me by my little english.
Jose Antonio Zapata Rey
[email protected]

Hello,
I'm trying to manage a financial printer using an activex control to
access it.
My problem is passing the VersionRequired variant attribute, I dont know
exactly the type object to pass to this attribute.
Using a VariantDispatcher type, Forte execute a exception saying that the
object isn't set as OLE object.
Using another variant type, ocurr a exception saying that the CDispatcher
are not code.
How can I to do it?
Tank and excuse me by my little english.
Jose Antonio Zapata Rey
[email protected]

Similar Messages

  • Forte/ActiveX/OLE Data access

    Hi folks,
    We are hoping to use a Forte 4GL service-object to access some third-party
    data in a proprietary database. The vendor has recently provided an ActiveX
    Component with an OLE DB/ADO interface. The ADO interface and ActiveX
    component reside on a web-server and they have demonstrated access via
    Visual Basic script and ASP. From what I can see, languages such as VB, C
    and C++ seem to be able to communicate with the ActiveX components directly,
    so should I be attempting to use straight OLE commands from Forte ? I wasn't
    sure whether I needed to get an OCX (or OLB?) created for the ADO interface
    or the ActiveX component so I can analyse it with OLEGEN. (The vendor
    doesn't
    believe this is possible anyway !)
    Any advice or help would be much appreciated !
    Regards,
    Justin
    Justin Levis
    Senior Systems Analyst
    SEALCORP Holdings Limited
    Perth, Western Australia
    e-mail : justin.levissealcorp.com.au
    ================================================================================================
    IMPORTANT INFORMATION
    This message and any files transmitted with it are confidential and should be read only by those
    persons to whom it is addressed.
    If you have received this message in error, please notify us immediately by way of reply. Please
    also destroy and delete the message from your computer. Any unauthorised form of reproduction
    of this message is strictly prohibited.
    It is the duty of the recipient to virus scan and otherwise test the information provided before
    loading onto any computer system.
    SEALCORP does not warrant that the information is free of a virus or any other defect or error.
    SEALCORP is not liable for the proper and complete transmission of the information contained in
    this communication, nor for any delay in its receipt.
    Any views expressed in this message are those of the individual sender, except where the sender
    specifically states them to be the views of SEALCORP.
    ================================================================================================

    Hi folks,
    We are hoping to use a Forte 4GL service-object to access some third-party
    data in a proprietary database. The vendor has recently provided an ActiveX
    Component with an OLE DB/ADO interface. The ADO interface and ActiveX
    component reside on a web-server and they have demonstrated access via
    Visual Basic script and ASP. From what I can see, languages such as VB, C
    and C++ seem to be able to communicate with the ActiveX components directly,
    so should I be attempting to use straight OLE commands from Forte ? I wasn't
    sure whether I needed to get an OCX (or OLB?) created for the ADO interface
    or the ActiveX component so I can analyse it with OLEGEN. (The vendor
    doesn't
    believe this is possible anyway !)
    Any advice or help would be much appreciated !
    Regards,
    Justin
    Justin Levis
    Senior Systems Analyst
    SEALCORP Holdings Limited
    Perth, Western Australia
    e-mail : justin.levissealcorp.com.au
    ================================================================================================
    IMPORTANT INFORMATION
    This message and any files transmitted with it are confidential and should be read only by those
    persons to whom it is addressed.
    If you have received this message in error, please notify us immediately by way of reply. Please
    also destroy and delete the message from your computer. Any unauthorised form of reproduction
    of this message is strictly prohibited.
    It is the duty of the recipient to virus scan and otherwise test the information provided before
    loading onto any computer system.
    SEALCORP does not warrant that the information is free of a virus or any other defect or error.
    SEALCORP is not liable for the proper and complete transmission of the information contained in
    this communication, nor for any delay in its receipt.
    Any views expressed in this message are those of the individual sender, except where the sender
    specifically states them to be the views of SEALCORP.
    ================================================================================================

  • 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) Reporting tools/components for ForteApplications?

    Hi Robert,
    A good place to start when it comes to reporting is Forte Consulting. They
    have developed a tool called ReportKit, which is ActiveX integration with
    Seagate Software's Crystal Reports tool. Crystal is not really a three-tier
    tool (although, your Forte Consultant can probably set it up to mimic a
    three-tier tool), but it is a quick, easy way to get quality reports from
    your existing Forte applications. If you're interested, give your Forte
    Sales Rep (or, better still, your Forte Regional Consulting Director) a
    call. They can discuss pricing and scheduling. I've done several
    integration projects with Crystal, and I highly recommend ReportKit for
    small- to medium-sized reporting requirements. As for costs, I don't recall
    how much CrystalReports runs, but I think there are developer licenses and
    runtime licenses.
    FYI, the actual integration of ReportKit is pretty quick. The more
    time-consuming piece of any report tool integration is the design and
    implementation of the reports to be used.
    I hope this helps.
    -Katie
    Katie Tierney
    Quality Management Analyst
    Akili Systems Group
    601 Jefferson, Suite 3975
    Houston, Texas 77002
    Office: (713) 655-1400
    Cell: (409) 255-1643
    "The bitterness of poor quality remains long after the sweetness of low
    price is forgotten" --Larry Anderson
    -----Original Message-----
    From: Robert Brooke-N502365 [mailto:Robert.Brookeca.michelin.com]
    Sent: Monday, February 14, 2000 8:17 AM
    To: kamranaminyahoo.com
    Subject: (forte-users) Reporting tools/components for Forte
    Applications?
    Hi all,
    We are looking for what is currently in the marketplace to enhance the
    reporting
    capabilities of Forte. Ideally, we are looking for component libraries that
    we
    could import into our repository. Do these exist?
    Currently, I have found six reporting tools that are out there. The
    tools
    are Actuate, Crystal Reports, Report Workshop from Indus Consultancy
    Services, Brio Technologies (SQR) VisualBRIO, Visual CyberQuery from
    Cyberscience Corp., and Beacon from Brahma Software Solutions FORTify
    Components. Are there any others for Forte?
    If anyone is currently using one of these Reporting Tools for Forte or
    any
    others, could you give me any indications as to the costs, training, type
    of
    application using the Reporting tool, would you recommend using the
    product
    again, does it use wrappering or API, or is it a component based tool, and
    any
    other relevant information on the product?
    Thanks,
    Robert Brooke
    Application Developer
    Michelin North America (Canada) Inc. CA0/CA1
    PO Box 399
    New Glasgow, Nova Scotia
    B2H-3E6
    Phone: (902) 753-1977
    Fax: (902) 396-2180
    Note: We are currently developing in Forte 3.0.L.2. However, we would
    like
    to select a reporting tool/component within the next month. We are in the
    initial phases of our next project, an application to be developed
    in-house.
    Probably will have two databases, one for real-time data and another one
    for
    archived data. Probably will need reporting functionality and capabilities
    for
    both real-time data and archived data.
    This email and any files transmitted with it are confidential and
    intended solely for the use of the individual or entity to whom they
    are addressed. If you have received this email in error please notify
    the system manager.
    This footnote also confirms that this email message has been swept by
    MIMEsweeper for the presence of computer viruses.
    The E-Mail System is to be used for business purposes only.
    www.mimesweeper.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

    At 09:33 AM 4/20/01, Rottier, Pascal wrote:
    Forte 4GL is:
    1) A language, TOOL (Compare to Java)
    2) An IDE (Compare to e.g. JBuilder or FJCE)
    3) A collaborative development environment, with central repository (Compare
    to ????)
    4) A distributed application server / object request broker (Compare to J2EE
    servers and/or CORBA)Let's not forget WebEnterprise, Express, and especially Fusion.
    I think, SUN is not al all interested in TOOL.If TOOL were just a language and had no market yet, you are probably
    right. But, not only is TOOL the key to the Forte environment, but it has
    an existing and profitable market. Sun still sells FORTRAN, after all, and
    continues to put money into ADE development for all its language
    products. The real kicker, though, is that I think iPlanet is very clear
    that Fusion, now iIS, is a very key product for them. There may be those
    who wish it were written in Java and who might lobby for doing a Java
    version, but it was clear at the conference that the iPlanet management
    recognize that Java just isn't up to the task at this point. It isn't as
    if all the iPlanet tools are actually written in Java, after all.
    They will only support them for as long as they need.Or, more likely, for as long as they make money.
    Now, in response to Microsofts .NET stratagy. We have yet to see how
    succesfull this will be, but I expect Microsoft to push this down the
    throats of developers and companies quite succesfully.Like they did DCOM?
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: [email protected]
    Computing Integrity, Inc. sales: 510-233-9329
    550 Casey Drive - Cypress Point support: 510-233-9327
    Point Richmond, CA 94801-3751 fax: 510-233-6950

  • ActiveX problems with 3.0.F.2 (fwd)

    This is the message I sent to tech support. Has anyone else seen this
    type of thing? Any suggestions (even half-baked) would be appreciated.
    -- Adam
    ---------- Forwarded message ----------
    Date: Tue, 17 Mar 1998 13:48:17 -0600 (CST)
    From: Adam Mckee <[email protected]>
    To: [email protected]
    Subject: ActiveX problems
    Product: Forte
    Version of Forte: 3.0.F.2
    Server OS: HPUX
    Client OS: NT/Win 95
    DBMS: Oracle
    Reproducible(?): Yes
    Brief description of issue:
    I have experienced problems using ActiveX controls. I have tried several
    controls, including:
    o Microsoft Forms 2.0 SpinButton
    o Microsoft Forms 2.0 CheckBox
    o Microsoft Forms 2.0 EditBox
    o AddSoft Gantt/OCX
    o Sheridan MonthView
    o Sheridan DayView
    o Sheridan DateCombo
    o Microsoft Calendar Control
    (specifically mentioned in a Forte technote)
    I have experienced problems with all of these controls. With the Sheridan
    DateCombo, the Forte environment crashes when I attempt to drop the
    control into a form using the "Insert Control..." button. Before the
    environment crashes, I get a series of informational and error dialog
    boxes as follows:
    o error: unexpected exception -10737415717
    o error: The Error Manager stack is empty (repeated 3 times)
    o information: the workspace is now read-only because the
    repository is disabled.
    o error: Exception escaped from terminating task CW.Display
    o ERROR: TMgr.Terminate: fatal error terminated partition
    With all the other controls I tried, the ActiveX support appears to work
    properly until I attempt to bind an instance of the olegen-generated
    class to the control itself in the window's Init() method:
    --- MyWindowClass.Init() ----
    super.Init();
    myActiveXControl = new();
    After this has been done, the Forte environment may "hang" when I interact
    with the control at run-time. For example, each time a generate a mouse
    event inside the control, I risk hanging the Forte environment. I might
    be able to interact with the control 50 times before the environment
    hangs, or it might hang after a single mouse click. Until the crash/hang
    occurs, the ActiveX support appears to work properly: I am able to trap
    mouse events, and interact with the control using the provided interface.
    Any help or advice you can offer would be appreciated. I would be happy
    to provide any additional information you may require.
    -- Adam McKee

    I don’t recall any problems importing to “selected item’ which I always use so I define where it goes and what it’s called.
    Do you have Aperture’s Activity Window open so you can see where it is hanging up? Is it just busy generating Previews etc.? I know it sounds more serious than just ‘busy’ but would be interesting to know what it’s doing then.
    After these problems, assuming that previews and thumbnails are generated correctly, it may be a good precaution to restart Aperture while holding down the OPTION and COMMAND keys so you can Repair Permissions or Repair the database. Even rebuilding the database is fairly quick if those first two options are ineffective.

  • Re: Crystal Reports 5.0 (32-Bit) and Forte 2.0H16 on NT3.51

    Dear Silke,
    Crystal's default for identifying a table in the report design is
    <schema>.<table>. You can change that by going to the Database Location menu
    item and cutting the schema prefix off. You should do that for every table in
    the report. The PESetNthTableLogOnInfo function will, I believe, not change
    the schema prefix of a table, since it assumes you really want that schema,
    i.e., as an override. Also, if you are using the propagateAcrossAllTables
    feature of the function make sure that every table has the schema prefix cut
    off, otherwise those tables will be skipped, since the propagate feature applies
    to all other similar tables only. For example, some of the tables could be
    Sybase, etc.
    I believe you can change the default behaviour of the CR Report Designer in the
    File->Preferences menu, so that when reports are designed the schema prefix is
    not automatically attached.
    I have compiled some guidelines on designing reports to make them work properly
    with Forte. I will try to send them to you next week. Crystal Reports and its
    C API are a good product, and you will get good performance once the report
    design is set up properly.
    Yours very sincerely, John Hodgson.
    Schulte, Silke (DVD) wrote:
    The problem seems to be, that Crystal stores the database name in the
    report. If you want to change the database you have to develop your
    report new, although you give the connection-information via the API.
    The hotline from Crystal told us, when using subreports you have to use
    the PESetNthTableLogOnInfo and to go through all the subreports and
    change the connect-string.
    Our experience is, you have to do both: change the report and call the
    other function for the subreports.
    Thank you very much for all the tips.
    Regards
    Silke Schulte
    Union-Investment, Frankfurt / Main, Germany
    e-mail: [email protected]
    From: Ajith Kallambella M[SMTP:[email protected]]
    Sent: Mittwoch, 23. September 1998 15:17
    To: [email protected]; ForteUsers; [email protected]
    Subject: RE: Crystal Reports 5.0 (32-Bit) and Forte 2.0H16 on NT
    3.51
    Hi There,
    Crystal reports stores Database name as a hard-coded
    value in the
    report template. So if you have to use an other
    database, you will
    have to open the report template and modify the
    database name. I
    think this is why you are getting Crystal API error.
    Hope this helps!
    Ajith Kallambella M
    Forte systems Engineer,
    International Business Corporation.
    Hello,
    I wonder if we have a similar problem.
    We are using Crystal Reports 5 and Forte 3.0.F.2. For
    the interface
    between Forte and Crystal we have in Forte a Lib using
    C-wrappering to
    the C-API of Crystal.
    We have developed a report on a database in our
    development-environment. This report comes up with data
    and works
    correct. It's no different if we have saved the report
    in Crystal with
    data or without.
    If we want to use the same report on another database
    in our
    test-environment the window from crystal reports comes
    up and when
    starting there is an error from the Crystal API
    function.
    Both environments use the same version of an Oracle
    Database and are on
    Open VMS. The client for the test is in this case
    always the same.
    From the C-API we use the method PEStartPrintJob after
    we have specified
    the rest for the report.
    Is there a possibility that this is the same error you
    mentioned? Or do
    you have any other ideas?
    Any help is appreciated.
    Regards
    Silke Schulte
    Union-Investment Frankfurt (Germany)
    email: [email protected]
    From: Katie Carty[SMTP:[email protected]]
    Reply To: Katie Carty
    Sent: Montag, 21. September 1998 19:14
    To: 'Tim Hagemann'; [email protected]
    Subject: RE: Crystal Reports 5.0 (32-Bit) and Forte2.0H16 on NT
    3.51
    Tim,
    You need to upgrade to CrystalReports 6.0. There isa bug in the
    interaction between Forte and CrystalReports 5.0 (Idon't know on
    which side the bug resides, but I think that it is onthe Crystal end,
    since the problem occurs both through C-wrapperingand OLE
    interaction), which does not allow you to invoke thePrintReport
    method unless you have saved data with the report.
    As far as I know, there is no workaround, and theonly solution is to
    upgrade to CrystalReports 6.0.
    FYI, there is no ActiveX control supplied withCrystalReports 5.0 -
    you are actually using standard OLE integration.
    Hope this helps...
    Regards,
    -Katie
    -----Original Message-----
    From: Tim Hagemann [SMTP:[email protected]]
    Sent: Monday, September 21, 1998 11:27 AM
    To: [email protected]
    Subject: Crystal Reports 5.0 (32-Bit) and Forte2.0H16 on NT 3.51
    Hi Forte-User !
    We got a big problem here using the crystal active-xcontrol. On my
    windows-nt 4.0 machine (with
    crystal reports installed completely) all works well.On our test
    machine (with only the crystal ActiveX
    installed), the Forte runtime shuts down afterinvoking a special
    method of the ocx (PrintReport).
    The cause for shutting down (no stacktrace orsomething like that) is
    a generated c++ exception in crystal -
    but we don't know the cause of this exception.
    Has anyone made the control work under nt 3.51 ? Doesanybody know
    (exactly) what dll's we'll have
    to use ?
    TIA,
    Tim Hagemann
    Tim Hagemann
    Ascom GmbH Email:
    [email protected]
    Charlottenburger Allee 61 Phone: +49241 96806 273
    D-52068 Aachen Fax: +49241 96806 225
    >
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Dear Silke,
    Crystal's default for identifying a table in the report design is
    <schema>.<table>. You can change that by going to the Database Location menu
    item and cutting the schema prefix off. You should do that for every table in
    the report. The PESetNthTableLogOnInfo function will, I believe, not change
    the schema prefix of a table, since it assumes you really want that schema,
    i.e., as an override. Also, if you are using the propagateAcrossAllTables
    feature of the function make sure that every table has the schema prefix cut
    off, otherwise those tables will be skipped, since the propagate feature applies
    to all other similar tables only. For example, some of the tables could be
    Sybase, etc.
    I believe you can change the default behaviour of the CR Report Designer in the
    File->Preferences menu, so that when reports are designed the schema prefix is
    not automatically attached.
    I have compiled some guidelines on designing reports to make them work properly
    with Forte. I will try to send them to you next week. Crystal Reports and its
    C API are a good product, and you will get good performance once the report
    design is set up properly.
    Yours very sincerely, John Hodgson.
    Schulte, Silke (DVD) wrote:
    The problem seems to be, that Crystal stores the database name in the
    report. If you want to change the database you have to develop your
    report new, although you give the connection-information via the API.
    The hotline from Crystal told us, when using subreports you have to use
    the PESetNthTableLogOnInfo and to go through all the subreports and
    change the connect-string.
    Our experience is, you have to do both: change the report and call the
    other function for the subreports.
    Thank you very much for all the tips.
    Regards
    Silke Schulte
    Union-Investment, Frankfurt / Main, Germany
    e-mail: [email protected]
    From: Ajith Kallambella M[SMTP:[email protected]]
    Sent: Mittwoch, 23. September 1998 15:17
    To: [email protected]; ForteUsers; [email protected]
    Subject: RE: Crystal Reports 5.0 (32-Bit) and Forte 2.0H16 on NT
    3.51
    Hi There,
    Crystal reports stores Database name as a hard-coded
    value in the
    report template. So if you have to use an other
    database, you will
    have to open the report template and modify the
    database name. I
    think this is why you are getting Crystal API error.
    Hope this helps!
    Ajith Kallambella M
    Forte systems Engineer,
    International Business Corporation.
    Hello,
    I wonder if we have a similar problem.
    We are using Crystal Reports 5 and Forte 3.0.F.2. For
    the interface
    between Forte and Crystal we have in Forte a Lib using
    C-wrappering to
    the C-API of Crystal.
    We have developed a report on a database in our
    development-environment. This report comes up with data
    and works
    correct. It's no different if we have saved the report
    in Crystal with
    data or without.
    If we want to use the same report on another database
    in our
    test-environment the window from crystal reports comes
    up and when
    starting there is an error from the Crystal API
    function.
    Both environments use the same version of an Oracle
    Database and are on
    Open VMS. The client for the test is in this case
    always the same.
    From the C-API we use the method PEStartPrintJob after
    we have specified
    the rest for the report.
    Is there a possibility that this is the same error you
    mentioned? Or do
    you have any other ideas?
    Any help is appreciated.
    Regards
    Silke Schulte
    Union-Investment Frankfurt (Germany)
    email: [email protected]
    From: Katie Carty[SMTP:[email protected]]
    Reply To: Katie Carty
    Sent: Montag, 21. September 1998 19:14
    To: 'Tim Hagemann'; [email protected]
    Subject: RE: Crystal Reports 5.0 (32-Bit) and Forte2.0H16 on NT
    3.51
    Tim,
    You need to upgrade to CrystalReports 6.0. There isa bug in the
    interaction between Forte and CrystalReports 5.0 (Idon't know on
    which side the bug resides, but I think that it is onthe Crystal end,
    since the problem occurs both through C-wrapperingand OLE
    interaction), which does not allow you to invoke thePrintReport
    method unless you have saved data with the report.
    As far as I know, there is no workaround, and theonly solution is to
    upgrade to CrystalReports 6.0.
    FYI, there is no ActiveX control supplied withCrystalReports 5.0 -
    you are actually using standard OLE integration.
    Hope this helps...
    Regards,
    -Katie
    -----Original Message-----
    From: Tim Hagemann [SMTP:[email protected]]
    Sent: Monday, September 21, 1998 11:27 AM
    To: [email protected]
    Subject: Crystal Reports 5.0 (32-Bit) and Forte2.0H16 on NT 3.51
    Hi Forte-User !
    We got a big problem here using the crystal active-xcontrol. On my
    windows-nt 4.0 machine (with
    crystal reports installed completely) all works well.On our test
    machine (with only the crystal ActiveX
    installed), the Forte runtime shuts down afterinvoking a special
    method of the ocx (PrintReport).
    The cause for shutting down (no stacktrace orsomething like that) is
    a generated c++ exception in crystal -
    but we don't know the cause of this exception.
    Has anyone made the control work under nt 3.51 ? Doesanybody know
    (exactly) what dll's we'll have
    to use ?
    TIA,
    Tim Hagemann
    Tim Hagemann
    Ascom GmbH Email:
    [email protected]
    Charlottenburger Allee 61 Phone: +49241 96806 273
    D-52068 Aachen Fax: +49241 96806 225
    >
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • Re: Forte /FileNet integration

    Hi Jelic,
    We, at the County of Alameda, are using Forte and FileNet for some time
    now.
    As I was not clear on what specific interface issues you are dealing with I
    thought it is a good idea to decribe what we are doing and hopefully that
    may answer some of your questions.
    For now, we are using FileNet's workflo language i.e. WFL scripts for
    interfacing with FileNet.
    The interfacing issues are :
    1. Logon to FileNet on the client (Win95)
    For logging on to FileNet we are currently using a C program which is
    launched by our Forte application and is passed the Username, Password.
    This program gets the window handle of the Logon Window and pokes in the
    username and password in the respective fields and logs on. Its a hack but
    it works well.
    2. Display Images in FileNet's Image viewer - we use Windows DDE.
    3. Indexing of documents both scanned and generated.
    We have a document generation system which uses a FileNet macro for MS-Word
    to save a document to FileNet. We also use FileNet's Scanning software to
    scan documents. Both of these use a barcode to facilitate indexing. The
    Indexer Program written in Forte launches a WFL script to get the
    barcode/docID pairs from FileNet's distributor queues and indexes it with
    the application database. It also laucnhes another WFL script which removes
    the entries from the distributor queues and puts it into a error queue if
    it was not indexed.
    Going forward, we are now working on using WAL API to interface with
    FileNet.
    1. For FileNet Logon and Display : we plan to wrap C calls implemented as
    DLL functions.
    2. For the Indexer program too, we plan to wrap all calls we need in C
    implemented as a DLL. Since the WAL API is available for Unix (HP_UX in our
    case) we may create a library on Unix and run the Indexer Application as a
    service object instead. This is one of the reasons we are not considering
    using ActiveX.
    Hope this helps.
    Nitish Khanapure
    Sage I.T. Partners
    (415) 3927243 x313
    Email : [email protected]
    From: Jelic, Nenad <[email protected]>
    To: 'Harry Richards' <[email protected]>; ', [email protected]'
    <,[email protected]>
    Cc: Ngai, Stuart <[email protected]>; Low, Louis
    <[email protected]>; Jelic, Nenad <[email protected]>; Kapauan,
    David <[email protected]>; '[email protected]'
    Subject: RE: Forte /FileNet integration
    Date: Tuesday, February 10, 1998 12:04 PM
    Thank you for quick response. We are using
    VB app with ActiveX controls and FileNet Image viewer(connected through
    DDE) = CLIENT
    accsessing FileNet IMS and Oracle DB = SERVER that is working very well
    VB App + FileNet ActiveX Controls (client)
    <------------TCP/IP-----------> FileNetIMS + ORACLE (server)
    POINT 1:
    Our intend is to replace VB App (written by somebody else) with Forte.
    I've got tech. notes (SMALL prototype) from Forte consultant (Valerie
    Limpan)how to implement ActiveX controls on server side because we don't
    like to use ActiveX on each desktop, only on server side. But this is
    not so common(Forte recommends using ActiveX controls with window
    classes on client side) and I am afraid to go with a real BIG project
    using something that is not proven very well ?
    Forte(Client) <-----> Forte + FileNet ActiveX Controls(server1)
    <------------TCP/IP-----------> FileNetIMS + ORACLE(server2)
    POINT 2:
    Probably, we can use WAL(C libraries) instead ActiveX controls, but from
    pdf files I can not find any example. 1300 pages. Do I have to print all
    of this to get better understandig ?
    POINT 3:
    Also, Is FileNet willing to support us using ActiveX controls inside
    Forte dev. enviroment and other way round?
    POINT 4:
    Is FileNet Panagan suite of products will make any difference to our
    problem ?
    Sorry if some of this statement are wrong. My experience with both
    products is limited, but not with ActiveX and OO.
    Again, thank you for your quick response. May be this more detail
    explanation will help you to find some answers.
    Regards,
    Dr. Nenad Jelic
    (416)359-6560
    From: Harry Richards[SMTP:[email protected]]
    Sent: Tuesday, February 10, 1998 11:36 AM
    To: Jelic, Nenad
    Subject: Re: Forte /FileNet integration
    I have just joined Fort&eacute; from FileNET and so have a view on both
    technologies, although I have not actually done any integration work.
    Which
    filenet products are you working with ?
    You will find that both CSC and Sage, who host this mail forum are
    involved
    with or have already completed some integration with various filenet
    products.
    Regards,
    Harry Richards
    At 10:01 AM 2/10/98 -0500, you wrote:
    We are trying to integrate Forte with FileNet software. Any experincein
    real projects?
    Using FileNet or any other ActiveX controls on server side ispossible,
    but is not so common.
    Regards,
    Dr. Nenad Jelic(416)359-6560
    [email protected]
    ----------

    Hi Satish
    For information on Groupware Integration with CRM please refer to the link : http://help.sap.com/saphelp_crm50/helpdata/en/44/a0178800cd4f21e10000000a1553f6/frameset.htm
    Also for integration of CRM Calendar with Groupware Calendar refer to the link : http://help.sap.com/saphelp_crm50/helpdata/en/bd/ad403d9e321d72e10000000a114084/frameset.htm
    Regards
    Note : Please award points if the answer is helpful.

  • Re: ActiveX problems with 3.0.F.2 (fwd)

    Forte has very specific requirements for ActiveX controls. We found out the
    hard way that Forte does not support the use of all ActiveX controls.
    Here is some information I received from Mark Cooper at Forte:
    With a bit more digging I found that ActiveX controls are required to adhere
    to two restrictions in the Forte environment. ActiveX controls are required
    to provide a single interface (and cannot include irrelevant nested
    interfaces) and must implement Apartment model threading (technote 11344).
    You can use the OLE-Com Object Viewer to determine whether a control
    fulfills both of these requirements.
    Hope this helps. As I understand it, a future release (3G or 4???) will have
    better support of ActiveX controls. But in the mean time you are stuck to
    these limitations.
    Regards,
    Jason Carpenter
    CSC Consulting & Systems Integration
    [email protected]
    3811 Turtle Creek Blvd.
    20th Floor
    Dallas, TX 75219
    214.520.0555

    Forte has very specific requirements for ActiveX controls. We found out the
    hard way that Forte does not support the use of all ActiveX controls.
    Here is some information I received from Mark Cooper at Forte:
    With a bit more digging I found that ActiveX controls are required to adhere
    to two restrictions in the Forte environment. ActiveX controls are required
    to provide a single interface (and cannot include irrelevant nested
    interfaces) and must implement Apartment model threading (technote 11344).
    You can use the OLE-Com Object Viewer to determine whether a control
    fulfills both of these requirements.
    Hope this helps. As I understand it, a future release (3G or 4???) will have
    better support of ActiveX controls. But in the mean time you are stuck to
    these limitations.
    Regards,
    Jason Carpenter
    CSC Consulting & Systems Integration
    [email protected]
    3811 Turtle Creek Blvd.
    20th Floor
    Dallas, TX 75219
    214.520.0555

  • RE: Ocx / ActiveX

    Patrice,
    We use several Controls in our systems, I am not going to say it was always
    easy making them work but they all work fine. We have grid controls,
    calendars, IE 4.0, home grown controls, etc.
    Thanks,
    Russ Engelhardt
    IT Systems Consultant
    ITCO Consulting Services / ADE Technical Center (Forte)
    mailto:[email protected]
    -----Original Message-----
    From: BOURDON Patrice [mailto:[email protected]]
    Sent: Friday, January 29, 1999 2:39 AM
    To: 'forte-users'
    Subject: Ocx / ActiveX
    Hello world,
    has someone heard about (or used) a good ocx or activex library working
    well with Fort&eacute; ?
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Hi,
    I tested some OCX like Acrobat Reader, Ms Calendar and Internet Explorer
    4.0.
    The best was Acrobat Reader 3.0 : easy to use and working very well (but
    needs memory).
    The less stable is Internet Explorer 4.0 (it works now to view HTML files).
    You can find samples and libraries on http://perso.club-internet.fr/dnguyen/
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Url : http://perso.club-internet.fr/dnguyen/
    BOURDON Patrice a &eacute;crit:
    Hello world,
    has someone heard about (or used) a good ocx or activex library working
    well with Fort&eacute; ?
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • RE: (forte-users) Any inputs on PutFormulas(...) method ofCrystal Repor

    Hi Jagadish,
    The OLE error code of 0x80020003 translates to "Member not found." This may
    indicate that the parameter is not properly defined as a Parameter field in
    the Crystal Report you're using.
    Additionally, the date format you're using is wrong. Crystal requires that
    you pass a date as "Date(yyyy, mm, dd)." Your example, then, should read:
    l_tdParam : TextData = New();
    l_tdParam.SetValue('Date(2000, 03, 15)');
    l_CrystalRepObj.PutParameterFields(0, l_tdParam.Value);
    I hope this helps.
    -Katie
    Katie Tierney
    Akili Systems Group
    601 Jefferson, Suite 3975
    Houston, Texas 77002
    Office: (713) 655-1400
    Cell: (409) 255-1643
    "The bitterness of poor quality remains long after the sweetness of low
    price is forgotten" --Larry Anderson
    -----Original Message-----
    From: Jagadish_Kumarnacre.com [mailto:Jagadish_Kumarnacre.com]
    Sent: Wednesday, March 15, 2000 9:11 PM
    To: Katie Tierney; kamranaminyahoo.com
    Subject: RE: (forte-users) Any inputs on PutFormulas(...) method of
    Crystal Report's ActiveX object
    Hi Katie,
    I am thankful for your time and effort.
    I have a problem here. I did exactly the way you have suggested, but I get
    this
    exception.
    SYSTEM ERROR: Error during Invoke; status code: -2147352573(0x80020003)
    Class: OLEException with ReasonCode: OLE_ER_RESOURCE
    Last TOOL statement: method DebugState.RaiseException
    The parameter I want to set is a date type. This is the only parameter in
    the
    report.
    First trial:
    l_tdParam : TextData = New();
    l_tdParam.SetValue('03/15/2000');
    l_CrystalRepObj.PutParameterFields(0, l_tdParam.Value);
    Second Trail:
    l_dtdParam : DateTimeData = New();
    l_dtdParam.SetCurrent(DR_DAY);
    l_CrystalRepObj.PutParameterFields(0, l_dtdParam.TextValue.Value);
    Do you think I am going wrong somewhere here. Please suggest.
    Once again, I am thankful for your time and effort.
    Regards,
    Jagadish K Kumar
    May I suggest:
    1. Talk to Forte Consulting and get ReportKit. It's inexpensive, and the
    Forte Consultant can help you get it set up quickly. It's a great product.
    2. The following code has worked for me in the past (I have no way of
    testing it now, but think it should still work):
    // ptd_Parameter_Array is an ARRAY of TextData containing the
    // VALUES to be placed in the parameter fields.
    // Since Crystal Reports uses a zero-based array numbering
    // scheme, we need to set up a counter and set its initial
    // value to 0.
    li_Counter : integer = 0;
    for eachParam in ptd_Parameter_Array do
    self.PutParameterFields(index = li_counter, param2 =
    eachParam.Value);
    li_Counter = li_counter + 1;
    end for;
    The VariantVoidResult is NIL by default, and you shouldn't need to worry
    about it at all. It's the result that the Crystal OCX sends back to Forte.
    The Index starts at 0, and continues to the number of parameters - 1.
    The Param2 value is the string that contains the actual parameter value.
    For example, if I have defined a Crystal parameter called "Country," then I
    would send "USA" as the string value for param2.
    I hope this helps (and I STRONGLY suggest ReportKit).
    Regards,
    -Katie
    Katie Tierney
    Akili Systems Group
    601 Jefferson, Suite 3975
    Houston, Texas 77002
    Office: (713) 655-1400
    Cell: (409) 255-1643
    "The bitterness of poor quality remains long after the sweetness of low
    price is forgotten" --Larry Anderson
    -----Original Message-----
    From: Jagadish_Kumarnacre.com [mailto:Jagadish_Kumarnacre.com]
    Sent: Wednesday, March 15, 2000 9:43 AM
    To: kamranaminyahoo.com
    Subject: (forte-users) Any inputs on PutFormulas(...) method of Crystal
    Report's ActiveX object
    Hi,
    Could someone give me inputs on how to use PutFormulas(index: i2, param2:
    string, _VariantVoidResult = NIL) method of Crystal ActiveX object.
    I want to use this method to modify Crystal Report formulas. I would like to
    know
    1. index parameter - what is the domain, or expected values to this
    parameter
    2. param2 parameter - How to formulate this?; a sample template please;
    3. _VariantVoidResult parameter - what is the significance of this
    parameter?
    A working example will help me a lot.
    Thanks in advance.
    Jagadish K Kumar

    Hi Katie,
    I am thankful for your time and effort.
    I have a problem here. I did exactly the way you have suggested, but I get this
    exception.
    SYSTEM ERROR: Error during Invoke; status code: -2147352573(0x80020003)
    Class: OLEException with ReasonCode: OLE_ER_RESOURCE
    Last TOOL statement: method DebugState.RaiseException
    The parameter I want to set is a date type. This is the only parameter in the
    report.
    First trial:
    l_tdParam : TextData = New();
    l_tdParam.SetValue('03/15/2000');
    l_CrystalRepObj.PutParameterFields(0, l_tdParam.Value);
    Second Trail:
    l_dtdParam : DateTimeData = New();
    l_dtdParam.SetCurrent(DR_DAY);
    l_CrystalRepObj.PutParameterFields(0, l_dtdParam.TextValue.Value);
    Do you think I am going wrong somewhere here. Please suggest.
    Once again, I am thankful for your time and effort.
    Regards,
    Jagadish K Kumar
    May I suggest:
    1. Talk to Forte Consulting and get ReportKit. It's inexpensive, and the
    Forte Consultant can help you get it set up quickly. It's a great product.
    2. The following code has worked for me in the past (I have no way of
    testing it now, but think it should still work):
    // ptd_Parameter_Array is an ARRAY of TextData containing the
    // VALUES to be placed in the parameter fields.
    // Since Crystal Reports uses a zero-based array numbering
    // scheme, we need to set up a counter and set its initial
    // value to 0.
    li_Counter : integer = 0;
    for eachParam in ptd_Parameter_Array do
    self.PutParameterFields(index = li_counter, param2 =
    eachParam.Value);
    li_Counter = li_counter + 1;
    end for;
    The VariantVoidResult is NIL by default, and you shouldn't need to worry
    about it at all. It's the result that the Crystal OCX sends back to Forte.
    The Index starts at 0, and continues to the number of parameters - 1.
    The Param2 value is the string that contains the actual parameter value.
    For example, if I have defined a Crystal parameter called "Country," then I
    would send "USA" as the string value for param2.
    I hope this helps (and I STRONGLY suggest ReportKit).
    Regards,
    -Katie
    Katie Tierney
    Akili Systems Group
    601 Jefferson, Suite 3975
    Houston, Texas 77002
    Office: (713) 655-1400
    Cell: (409) 255-1643
    "The bitterness of poor quality remains long after the sweetness of low
    price is forgotten" --Larry Anderson
    -----Original Message-----
    From: Jagadish_Kumarnacre.com [mailto:Jagadish_Kumarnacre.com]
    Sent: Wednesday, March 15, 2000 9:43 AM
    To: kamranaminyahoo.com
    Subject: (forte-users) Any inputs on PutFormulas(...) method of Crystal
    Report's ActiveX object
    Hi,
    Could someone give me inputs on how to use PutFormulas(index: i2, param2:
    string, _VariantVoidResult = NIL) method of Crystal ActiveX object.
    I want to use this method to modify Crystal Report formulas. I would like to
    know
    1. index parameter - what is the domain, or expected values to this
    parameter
    2. param2 parameter - How to formulate this?; a sample template please;
    3. _VariantVoidResult parameter - what is the significance of this
    parameter?
    A working example will help me a lot.
    Thanks in advance.
    Jagadish K Kumar

  • RE: (forte-users) Forte SMTP and POP3 Support

    Scaffolds includes in a protocol library an smtphandler which allows us to
    send emails. It works great! You can try contacting someone at Metamor to
    see if they can give you more information on this. I can't give you any
    code as it is part of their package. Sorry!
    -----Original Message-----
    From: Rottier, Pascal [mailto:Rottier.Pascalpmintl.ch]
    Sent: Wednesday, February 23, 2000 7:22 AM
    To: 'edwardsmjwillis.com'; kamranaminyahoo.com
    Subject: RE: (forte-users) Forte SMTP and POP3
    Support
    Mark,
    Unfortunately, Forte doesn't offer any ready-to-use internet
    protocoll
    support libraries (like FTP, Telnet, SMTP, POP3, NNTP,
    UU-code
    or MIME). I think this would be a valuable enhancement of
    Forte.
    Does any one know if SUN plans to include this into Forte?
    Does
    any one know if there is any third-party set of Tool-classes
    that
    supports this?
    Pascal
    > -----Original Message-----
    > From: edwardsmjwillis.com [SMTP:edwardsmjwillis.com]
    > Sent: Wednesday, February 23, 2000 3:36 PM
    > To: kamranaminyahoo.com
    > Subject: (forte-users) Forte SMTP and POP3 Support
    >
    >
    >
    > Hi,
    >
    > Our Forte development team are currently investigating how
    we can add
    > internet
    > mail capabilities to a Forte application. Our application
    needs to
    > send/receive
    > mails from a mail server in an NT environment. Does forte
    provide SMTP and
    > POP3
    > protocol support (libraries) so that we can use external
    connection class
    > to
    > connect to the server and send/ receive mails or do we
    have to use third
    > party
    > controls ?.
    >
    > Any help regarding code examples or third party solutions
    would be
    > appreciated.
    >
    > Thanks in advance
    >
    > Mark J Edwards
    > Senior Technical Specialist
    > Willis
    >
    > Email: edwardsmjwillis.com
    >
    >
    >
    >
    >
    > The information in this email and in any attachments is
    confidential and
    > may be
    > privileged. If you are not the intended recipient, please
    destroy this
    > message,
    > delete any copies held on your systems and notify the
    sender immediately.
    > You
    > should not retain, copy or use this email for any purpose,
    nor disclose
    > all or
    > any part of its content to any other person.
    >
    >
    > --
    > 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
    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,
    Unfortunatly, Forte does not provide SMTP and POP3 protocoles.
    But, you can use External connections to do it if you need.
    You can find a simple SMTP send mail sample code on
    http://perso.club-internet.fr/dnguyen/ . The receive should be as easy as the send.
    For MIME base 64 encoding and decoding, it should last one or two weeks of coding
    (if you need optimization).
    One advantage of coding this in Tool directly is the portability.
    In your case, on NT, you could also interface with MAPI using for instance the
    ActiveX interface.
    By that way, you will already have SMTP, POP3 and MIME.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    http://perso.club-internet.fr/dnguyen/
    edwardsmjwillis.com a &eacute;crit:
    Hi,
    Our Forte development team are currently investigating how we can add internet
    mail capabilities to a Forte application. Our application needs to send/receive
    mails from a mail server in an NT environment. Does forte provide SMTP and POP3
    protocol support (libraries) so that we can use external connection class to
    connect to the server and send/ receive mails or do we have to use third party
    controls ?.
    Any help regarding code examples or third party solutions would be appreciated.
    Thanks in advance
    Mark J Edwards
    Senior Technical Specialist
    Willis
    Email: edwardsmjwillis.com
    The information in this email and in any attachments is confidential and may be
    privileged. If you are not the intended recipient, please destroy this message,
    delete any copies held on your systems and notify the sender immediately. You
    should not retain, copy or use this email for any purpose, nor disclose all or
    any part of its content to any other person.
    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

  • Forte & MSMQ

    Does anybody have any experience with Forte and MSMQ integration???
    Here are the details:
    We are currently deployed on Windows NT and Windows 3.1 for the Client
    partition. Our server partitions are deployed on UNIX (AIX). We also
    have WEB access built into the system using Forte's WEBsdk.
    We must integrate with another (non-Forte) application that resides on
    NT server. We want to use MSMQ as a means to communicate to this
    application.
    My preferred partitioning scheme is as follows:
    I plan to create a new partition and move it to the NT Server. The
    Service Object on the NT server will be accessible from both the client
    partition and the server level (UNIX based) partitions. This is the
    first time I am adding another server to the mix.
    The new partition on the NT Server will serve as the interface to the
    other application (via MSMQ). By the way, MSMQ is the only game in
    town, because our vendor does not provide an open API. They rely on
    MSMQ for everything...
    At this time, I don't necessarily have a preference with regard to how
    we link to MSMQ. However, I can say that performance is paramount. I
    originally preferred OLE or ActiveX, but I think I can easily be talked
    into C/C++ wrappering; especially now that Forte has C++ call-in
    capability in version 3.0.
    I'd appreciate hearing from anyone who has integrated Forte with MSMQ.
    Thanks
    James Krzeszowski
    Project Manager
    Advanta Business Services
    [email protected]

    The SunWS_Cache directory must have write permission. The cache contains state information that must be locked when a compiler is being run, to avoid trashing the state information if another compilation runs in the same directory at the same time. (Sun C++ supports dmake and gmake for running multiple compilations in parallel.)
    A non-writeable template cache is not an available option.
    Starting with C++ 5.5 (Sun ONE Studio 8 Compiler Collection), the template cache is no longer required, and by default is not used. If you are having problems involving the cache, you should consider upgrading to this new release.

  • RE: ActiveX control and Active Server Pages?

    Martin, if it works in standalone VB program but not in an .asp page
    through VBScript, I guess the reason may be the type mismatch on the
    parameters of the ActiveX automation methods. VBScript is a subset of VB
    and only supports the OLE data type VARIANT for calling the OLE
    interface. The Conductor ActiveX control probably requires the actual
    data types, such as long, BSTR, and so on, to be used on the parameters.
    As a result, VBScript cannot call the methods on the control. One
    workaround you can try is to create your own ActiveX control which is
    simply a wrapper for calling the Conductor control. Its parameter types
    use VARIANT and you do the data conversion in your wrapper code. Hope
    this helps.
    Lenny Hon
    Descartes Systems Group
    -----Original Message-----
    From: Martin Peters [SMTP:[email protected]]
    Sent: Monday, July 27, 1998 10:50 AM
    To:
    Subject: ActiveX control and Active Server Pages?
    Hello Forte users,
    Did anyone try to use the ActiveX control that ships with Conductor
    1.0G in an Active Server Page?
    I tried to use the ActiveX control without luck, so a sample would be
    appreciated. The code
    works fine in Visual Basic.
    Below the code:
    <HTML>
    <BODY>
    <%
    Set thisDirectory =
    Server.CreateObject("CONDUCTORCLIENT.WFDirectoryServiceCtl.1")
    Set thisEngine = thisDirectory.WFFindEngine("ceengine", "centrale")
    Set thisUser =
    Server.CreateObject("CONDUCTORCLIENT.WFUserProfileDescCtrl.1")
    thisUser.New
    thisUser.ProfileName = "MiniUP"
    thisUser.userName = "martin"
    ' The following call fails: Invalid procedure call or argument:
    'thisEngine.OpenSession'
    Set thisSession = thisEngine.OpenSession("CREATE", thisUser, "martin",
    0)
    Set thisProcess = thisSession.CreateProcess("MiniPD", Empty)
    thisSession.CloseSession (WFSESSION_TERMINATED)
    %>
    </BODY>
    </HTML>
    Martin Peters
    COMPAQ
    NSIS - AD&I - Application Connect
    email <[email protected]>
    phone: +31 (30) 2834902
    fax: +31 (30) 2834980
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive
    <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    I don't have 6.1 in front of me now. I came up with a workaround for my application when I encounted this problem. I created an attribute node for the container and the tab control. Whenever the tab control was not on the page with the control, I made the container invisible. This then hid the activeX control.

  • Forte and Crystal OCX

    Using Crystal Reports 6.0 ActiveX control on Win 95 clients or Win 95
    development machines I cannot insert the object into the ActiveX widget. In
    distributed mode the Control cannot be 'Realized' and in development, the
    Win 95 machine hangs up.
    Complete description of problem or question:
    We have been using the Crystal Reports version 6.0 ActiveX control on NT
    4.0 machines for about 1 month with no problems.
    When we made our latest distribution to our Win 95 client environment, the
    window with the ActiveX control started
    generating an error that the object could not be 'realized'. We then
    proceeded to install Forte and Crystal on a Win 95
    Development machine and found that we are not even able to insert the
    control in the ActiveX widget. The Win 95 Development
    machine hangs with no error message at all and you have to close down your
    Forte session.
    Any help would be appreciated.
    Thanks,
    Paul Nash
    Sun Life of Canada (US)

    Just take a look at Tech Note n&deg; 11181 and go to Micro$oft's site :
    http://www.microsoft.com/com/dcom95/download-f.htm
    You need DCOM for Windows 95 to use OCX's...
    (We've had the same problem yesterday and now, it works fine...)
    De :
    [email protected][SMTP:[email protected]]
    R&eacute;pondre &agrave; : [email protected]
    Date : jeudi 15 janvier 1998 16:39
    A : [email protected]
    Objet : Forte and Crystal OCX
    Using Crystal Reports 6.0 ActiveX control on Win 95 clients or Win 95
    development machines I cannot insert the object into the ActiveX
    widget. In distributed mode the Control cannot be 'Realized' and in
    development, the Win 95 machine hangs up.
    Complete description of problem or question:
    We have been using the Crystal Reports version 6.0 ActiveX control on
    NT 4.0 machines for about 1 month with no problems.
    When we made our latest distribution to our Win 95 client environment,
    the window with the ActiveX control started generating an error that
    the object could not be 'realized'. We then proceeded to install Forte
    and Crystal on a Win 95 Development machine and found that we are not
    even able to insert the control in the ActiveX widget. The Win 95
    Development machine hangs with no error message at all and you have to
    close down your Forte session.
    Any help would be appreciated.
    Thanks,
    Paul Nash
    Sun Life of Canada (US)

  • Re: Sending a mail via Forté

    Implement SMTP protocol using ExternalConnection object provided by forte.
    Hope this helps.
    Anand.
    Alexis Hassler wrote:
    Hi,
    =09
    We need to send a mail from a Fort=E9 program on NT platforms. Does =
    anyone have any ideas or suggestions on how we can do this ?
    Any help would be appreciated ! Thanks in advance.
    Fran=E7ois LE ROLLAND
    OOsphere
    <[email protected]>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Hi,
    It should depend on where you need to send the mail : on the client or the
    server.
    On the client, you can use MAPI (there is an ActiveX which works with Forte). On
    the server (and the client) you can use an external connection.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Url : http://perso.club-internet.fr/dnguyen/
    Alexis Hassler a &eacute;crit:
    Hi,
    =09
    We need to send a mail from a Fort=E9 program on NT platforms. Does =
    anyone have any ideas or suggestions on how we can do this ?
    Any help would be appreciated ! Thanks in advance.
    Fran=E7ois LE ROLLAND
    OOsphere
    <[email protected]>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

Maybe you are looking for

  • Linux on a MacBook Pro?

    Hi. I'd like to run Linux on my MBP because I need it for work, but I'm having a bit of trouble. Currently I have Windows and SUSE 10.2 running under Parallels; I've tried to get Ubuntu Feisty Fawn on it, but the installation failed miserably. SUSE r

  • How do I identify a new type of virus?

    This may not be a Firefox 4 problem specifically, but I was advised in another forum to post it here: Recently I got hit by the FakeRean virus that I downloaded via Firefox 4 Beta 6. The mechanism is that the web site opens a global modal dialog offe

  • How to invoke Matlab from Java

    Hi, I want to pass some data generated from Java class to Matlab, then invoke Matlab from Java to run the computation program (file written in Matlab, myfile.m). I know Matlab can use classes generated from Java, how to drive Matlab from Java? I appr

  • I'm unable to get Yahoo email to work on my new iPhone 4. Get message that Server Unavailable try again later. Is everyone having this issue?

    Does anyone know why Yahoo is having problems with email on the iPhone 4? I just upgraded yesterday from a 3G and it was working then but has yet to work on the 4.

  • Missing photos from Ipod, how to get them back?

    I have just bought Mac Book. My old computer Ibook G4 crashed and all my photos were only on the Ipod I had. I wanted to transfer them from the Ipod to the my new Mac Book. Unfortunately I only see my music but it is showing me 0 photos. Before conne