Re: (forte-users) PurgeEvents doesn't

Dear Duncan,
I think it would be easier to set the State attribute of your button widget to
FS_INVISIBLE or FS_VIEW in the part where you are handling the click event.
See the attached .pex file file it contains a simple test program which consists of
two window the first has a start and a stop button, but stop button is invisible
till you press the start button. The start button starts the second window as a
separate task and the start button becomes invisible, the stop button visible. In
this way you can assure that the user can only start one task and not more.
Best Regards,
Tamas Deak
Duncan Kinnear wrote:
Hi folks!
Really, the subject line says it all!
I'm calling Window.PurgeEvents() and can watch the Event Queue in the
debugger not changing in the slightest.
We are trying to start a seperate task from a button but we do not want
the user to be able to start more than one task. They can at this stage
by double clicking on the button.The event stack stores the second
click and executes it when the task is finished.
Cheers,
Duncan Kinnear,
McCarthy and Associates, Email: [email protected]
PO Box 764, McLean Towers, Phone: +64 6 834 3360
Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
Providing Integrated Software to the Meat Processing Industry for over 10 years
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]
Tamas Deak
Lufthansa Systems Hungary
(forte developer)
2-6 Mazsa ter, Budapest, 1107, HUNGARY
(36-1) 4312 973
[email protected]
[email protected][email protected]-

Hi Jorge,
Instead of using
Data.SetValue(FormatDouble.DecodeDouble(self.PKg));
use
Data.SetValue(FormatDouble.DecodeDecimal(self.PKg,Data.Scale)); //
This will take the second parameter of scale
You will see the desired results.
Thks,
Sanjay
-----Original Message-----
From: Dave Ortman [SMTP:dortmanyahoo.com]
Sent: Monday, March 05, 2001 12:32
To: Jorge Bellido; forte-userslists.xpedior.com
Subject: Re: (forte-users) I don't understand why appear new
decimals.
Simply put, the problem stems from the fact that
floating-point arithmetic is inherently imprecise.
Rounding errors are common.
With doubles, you get 16 digits of accuracy. Beyond
that there is no guarantee.
If you want more information:
http://docs.sun.com/htmlcoll/coll.648.2/iso-8859-1/NUMCOMPGD/ncg_goldberg.ht
ml
-Dave Ortman
--- Jorge Bellido <jorge.bellidoeam.es> wrote:
> I have another problem with numbers. So,
>
> Data: DecimalNullable = new;
> Data.Scale = 20;
> FormatDouble.Template = TextData(value='#');
>
> Dato.SetValue(FormatDouble.DecodeDouble(self.PKg));
>
> PKg is a widget DataField, whose mapped type is
> TextData with input mask float. When I write 1.12
> into the widget the variable Data is
> 1.1200000000000001, and I can't understand it. I
> would like that variable Data was 1.12.
>
> Could anybody to explain it?
>
> Thank you very much.
>
For the archives, go to: http://lists.xpedior.com/forte-users and
use
the login: forte and the password: archive. To unsubscribe, send in
a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com

Similar Messages

  • RE: (forte-users) Hi All....very urgent...Forte doesn'thandle La rge ar

    Okay, here's my three cents worth,
    Are you using Forte "Keep Alive" settings? If yes, you may simply have a
    time-out.
    While a partition is waiting for a reply from a database, it blocks and
    won't respond
    to anything, including pings to check if it's still alive. So, if the query
    takes longer to
    complete than the time-out period of the communication manager, then you
    will
    loose the connection to the partition.
    -----Original Message-----
    From: Aberdour George [SMTP:george.aberdourdet.nsw.edu.au]
    Sent: Sunday, February 13, 2000 11:39 AM
    To: 'Babu Raj'; kamranaminyahoo.com
    Subject: RE: (forte-users) Hi All....very urgent...Forte doesn't
    handle La rge array properly
    Hi,
    This sounds almost identical to a problem we have experienced.
    If it is the same problem it is because you have compiled a back-end
    load-balanced partition, but NOT the router that manages it.
    With such a configuration, attempts to send greater than a few thousand
    rows
    will fail - and it doesn't seem to matter what you set -fm to.
    You don't see the problem running distributed from your workspace because
    everything is interpreted.
    So just compile the router and try again.
    Hope this helps.
    George Aberdour
    (George.Aberdourdet.nsw.edu.au)
    -----Original Message-----
    From: Babu Raj [mailto:ibcsmartboyyahoo.com]
    Sent: Saturday, 12 February 2000 7:24
    To: kamranaminyahoo.com
    Subject: (forte-users) Hi All....very urgent...Forte doesn't handle
    Large array properly
    Hi All,
    Have anyone experienced problem of retrieving
    more than 1500 records from the database table, into
    the object.
    I use dynamic SQL statement, and populating Array
    object from the DBDataSet. When it runs from my
    workspace distributed, it works fine. But, when I make
    deployment, and install on the test bed, I face
    Network connection failure from the client machine. It
    looks like, server read the data from the Database,
    and while packaging it, to send it across to the
    client, server seems to run out ouf memory or couldn't
    maintain the connection with the client. I tried to
    set -fm flag on that partition, and separately setting
    FORTE_GC_SPECIAL too, but still no luck.
    we have increased, the rollback segment size on
    Oracle too, but still no luck.
    Appreciate, your suggestions, if you can,
    Thank you,
    Babu
    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

    Okay, here's my three cents worth,
    Are you using Forte "Keep Alive" settings? If yes, you may simply have a
    time-out.
    While a partition is waiting for a reply from a database, it blocks and
    won't respond
    to anything, including pings to check if it's still alive. So, if the query
    takes longer to
    complete than the time-out period of the communication manager, then you
    will
    loose the connection to the partition.
    -----Original Message-----
    From: Aberdour George [SMTP:george.aberdourdet.nsw.edu.au]
    Sent: Sunday, February 13, 2000 11:39 AM
    To: 'Babu Raj'; kamranaminyahoo.com
    Subject: RE: (forte-users) Hi All....very urgent...Forte doesn't
    handle La rge array properly
    Hi,
    This sounds almost identical to a problem we have experienced.
    If it is the same problem it is because you have compiled a back-end
    load-balanced partition, but NOT the router that manages it.
    With such a configuration, attempts to send greater than a few thousand
    rows
    will fail - and it doesn't seem to matter what you set -fm to.
    You don't see the problem running distributed from your workspace because
    everything is interpreted.
    So just compile the router and try again.
    Hope this helps.
    George Aberdour
    (George.Aberdourdet.nsw.edu.au)
    -----Original Message-----
    From: Babu Raj [mailto:ibcsmartboyyahoo.com]
    Sent: Saturday, 12 February 2000 7:24
    To: kamranaminyahoo.com
    Subject: (forte-users) Hi All....very urgent...Forte doesn't handle
    Large array properly
    Hi All,
    Have anyone experienced problem of retrieving
    more than 1500 records from the database table, into
    the object.
    I use dynamic SQL statement, and populating Array
    object from the DBDataSet. When it runs from my
    workspace distributed, it works fine. But, when I make
    deployment, and install on the test bed, I face
    Network connection failure from the client machine. It
    looks like, server read the data from the Database,
    and while packaging it, to send it across to the
    client, server seems to run out ouf memory or couldn't
    maintain the connection with the client. I tried to
    set -fm flag on that partition, and separately setting
    FORTE_GC_SPECIAL too, but still no luck.
    we have increased, the rollback segment size on
    Oracle too, but still no luck.
    Appreciate, your suggestions, if you can,
    Thank you,
    Babu
    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

  • Re: (forte-users) Fusion for the VAR

    Hi,
    It is a good idea. In fact, I think that how Forte is
    going to integrate her own suite of app. too. ( I
    kind of recall that there is a speech on this topic in
    Forum ).
    However, as Forte will most likely goes toward Java, I
    would suggest that you take into account the
    abstraction on Conductor ( which is frankly an event
    broker ) and Fusion ( which handles the XML mapping )
    too. In doing so, you can save guard your investment
    on the design without binding tightly with FORTE and I
    bet there will be tons of event broker or XML parser
    in the future market.
    On the other hand, this integration by Fusion would be
    perfect for a perfect world. But, in this imperfect
    world, it would be hard to do cross-checking between
    apps in Fusion.
    In the old days, we repulicate data or do file
    transfer to integrate apps. In doing so, we also
    build-in all the cross-checking procedure / reports.
    In the case of Fusion, is there such a safety net to
    save guard data integrity. Can I identify a lost
    event and trace back to find out whether it is a app.
    problem or Conductor problem?
    I think the customer would surely like to know.
    Regards,
    Peter Sham.
    --- "Thomas Mercer-Hursh, Ph.D."
    <[email protected]> wrote:
    Fusion has been positioned as an EAI tool, something
    at which it appears to
    be very, very good, but in recent months I have been
    thinking about its
    possible role as an architectural tool for those of
    us who build large,
    multi-application suites of applications. Having
    been tossing some of
    these ideas around the halls at Harrison Street, I
    thought I would try some
    of them on this audience as well to see what
    reaction I got.
    This concept is based on the context that one has
    multiple interacting
    applications which are loosely coupled, or at least
    which should be. E.g.,
    an order processing application may need credit
    status information from an
    accounts receivable application and may generate
    invoices which then need
    to be tracked for payment by that application, but
    the connections between
    these applications are specific, limited, and
    readily enumerable. Mind
    you, people don't always build their applications so
    cleanly modularized,
    but I think we all agree these days that they should
    be.
    The idea is to provide each application with a
    specific API, which it may
    currently have only indirectly. I.e., today one
    might simply have calls
    directly from one application to another, but one
    would gather all these
    links together and define an API, probably in XML
    which covered all of the
    necessary communciations between applications.
    These would then be used to
    build a Fusion Proxy and one would build the
    necessary Conductor processes
    to handle the communications which previously might
    have been made directly
    between applications. There is probably some
    performance loss in this
    process, but many of these interfaces are not
    performance intensive and my
    bet is that if the whole Fusion concept has adequate
    performance for the
    purposes for which it is being primarily marketed,
    then it has the
    performance for this sort of usage.
    One would get several advantages from this
    structure:
    1) Interapplication communications would be handled
    by a Conductor process
    and thus be much more readily configurable than any
    hard-coded link.
    2) One would gain the ability to unplug one's own
    application and plug in a
    customer's application when the customer insisted on
    using something else.
    3) The discipline of working in this structure would
    insure clean boundries
    between applications, which is not only sound
    design, but promotes the
    flexibility of the overall suite.
    4) Those with untransitioned legacy applications
    would have a framework
    that would allow a mixture of new and old
    applications to co-exist, thus
    providing them with a transition strategy until the
    full product line was
    converted.
    Note that I am assuming that one would want to build
    the individual
    applications so that they also used Conductor for
    managing their business
    process logic, but that seems to me to be an
    independent decision from this
    one.
    So, comments?
    Any downsides?
    Any added benefits I haven't covered here?
    Are there many out there that would benefit from
    this approach or just a few?
    Is anyone doing anything like this?
    Note that the one downside I have found so far is
    that Fusion licensing,
    independent of the Conductor aspect, is based on the
    number of proxies and
    so someone like CI who has 15 or more applications
    in a typical site is
    going to have 15 or more proxies. My bet is that
    this can be handled once
    it is clear that use of Fusion by a VAR for
    integrating own applications is
    not the same use as by an end-user integrating
    arbitrary multiple applications.
    =========================================================================
    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
    For the archives, go to:
    http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To
    unsubscribe, send in a new
    email the word: 'Unsubscribe' to:
    [email protected]
    =====

    Yes, they do & one page is 1KB page. We use the same instrument to check
    memory usage & to send alerts in our production system.
    Thanks.
    Suraj
    -----Original Message-----
    From: Epari, Madhusudhan [mailto:[email protected]]
    Sent: Monday, May 14, 2001 2:37 PM
    To: 'Saraf, Suraj'; 'Forte User Forum'
    Subject: RE: (forte-users) Instrument for memory used in the partition
    Thanks all for the response. I observed "Allocated Pages" instrument doesn't
    change as and when memory usage by the partition changes. I was trying to
    find a way to measure the actual memory (specifically in bytes or KBs).
    Thanks,
    Madhu
    -----Original Message-----
    From: Saraf, Suraj [mailto:[email protected]]
    Sent: Thursday, May 10, 2001 12:46 PM
    To: 'Epari, Madhusudhan'; 'Forte User Forum'
    Subject: RE: (forte-users) Instrument for memory used in the partition
    Hello,
    I think you can use 'OperatingSystem' service agent & check 'AllocatedPages'
    instrument to see how many memory pages are used. You can compare that with
    your maximum allocation & send alerts depending on that. Thanks.
    Suraj
    -----Original Message-----
    From: Epari, Madhusudhan [mailto:[email protected]]
    Sent: Thursday, May 10, 2001 11:15 AM
    To: 'Forte User Forum'
    Subject: (forte-users) Instrument for memory used in the partition
    Hello Everyone,
    Is there an instrument to track the memory used in the partition at a given
    point of time. I have a requirement where an alert has to be generated in
    the environment when partition uses all its available memory.
    Thanks in advance,
    Madhu
    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: [email protected]

  • RE: (forte-users) user name

    Troy Burns wrote:
    It would definitely be of interest to me, since this is an item on my
    "to-do" list. If you can release the code, let me know.Here 'tiz.
    The files you're getting are:
    SFVosC.pex - "C" wrapper.
    Vos.C - The "C" callout.
    Vos.H - A header file for Vos.C, used by ...
    VosCLI.C - A command-line-driven mainline to test Vos.C
    VosObj.CEX - An object that provides a "nice" interface to the "C" wrapper.
    We use this in two ways: instantiated as a local object to get the username
    under VMS or NT, or as a service object partitioned to an NT server to do
    username/password authentication on behalf of clients on other operating
    systems.
    The following changes have been made throughout the files in an attempt to
    keep various people in DuPont happy:
    "our_application_root" replaces the actual name of the root directory of
    the application.
    "our_vms_server" replaces the actual name of the system in question.
    "our_nt_server" replaces the actual name of the system in question.
    "our_application_name" replaces the actual name of the application.
    A copyright notice, the usual disclaimer, and a "fair use" statement (which
    is just a reference to the Perl Artistic License) have been inserted.
    Except for the "ExternalObjectFiles" declaration in SFVosC.pex, all the
    changes appear to have been in comments. But the files come with the usual
    freeware warranty (i.e. "use at your own risk".)
    Have fun with these!
    Tom Wyant
    (See attached file: SFvosC.pex)(See attached file: Vos.c)(See attached
    file: Vos.h)(See attached file: Voscli.c)(See attached file: VosObj.cex)

    I would try going to the "lowest common denominator" between WindowsNT and
    Windows95 - DOS. Both windowing OS's sort of have their roots in DOS, or at
    least both are capable of opening a DOS session.
    Therefore, from a DOS prompt type "set" to view the environment variables for
    both OS types. Look for a common variable between the two that stores the
    userID. If you can find one of these your application will be that much more
    portable between these two Windows mutations.
    I used "set" on my NT and found my userID assigned to a few variables. I haven't
    done this on a Windows95 machine in quite some time, but if the machine is on
    the network it should have at least one environment variable with the userID.
    I'm just guessing that DOS has a variable to store the userID that will be
    common to both machines.
    Good luck....
    Kelsey PetrychynSaskTel Technical Analyst
    ITM - Technology Solutions - Distributed Computing
    Tel (306) 777 - 4906, Fax (306) 359 - 0857
    Internet:kelsey.petrychynSasktel.sk.ca
    Quality is not job 1. It is the only job!
    "Olivier Andrieux" <oandrieuxaxialog.fr> on 07/19/2000 09:12:41 AM
    To: forte-userslists.xpedior.com
    cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
    Subject: (forte-users) user name
    Hi
    I use this command to catch the username:
    task.part.operatingsystem.getenv('username')
    with NT, there is no problem
    but with windows95 or 98 the command doesn't find the username.
    Thanks in advance.
    Olivier Andrieux
    Axialog
    Lille
    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) Minimal Fusion

    Thomas,
    A response which may contain no answers...and may lead to more questions...
    As a novice fusion user, one of the largest obstacles to using Fusion is the lack of XML API's in an application, be it a customer's in-house or vendor's software product. Corresponding to this is simply the lack of any API's in the application. As Forte (abet Sun, now iPlanet) says in their training manual 'A nontrivial task is to build new adapters for your programs if you wish to enable them to interact using XML documents over HTTP'. This is probably an understatement.
    The question that come to mind is:
    Does the warehouse have published API's their product?
    If not, then, IMHO, you have steep hill to climb, not the least being communication, cooperation, and coordination from the warehouse vendor (another one of those 'nontrivial tasks') in trying to create the required API's
    if so, then it is a matter of building an adapter, in a language that is compatible with the warehouse's API (hopefully C or some derivation of) , that contains (1) a DOM (Document Object Module) to API Translator, (2) an XML Parser (converts XML to DOM and visa-versa) , and (3) a HTTP server (again, another one of those 'nontrivial tasks').
    Forte (abet Sun, now iPlanet) suggests, and I would concur (with reservations), that if you haven't done this before you should probably hire their services from the Forte Integration Services group. Their costs (admittible high) should be offset be the time it would take to develop one on your own. A side benefit is working with them, you learn the process for making other adapters in the future. If Fusion is a marketing success, then the benefits should out weigh the costs.
    The Forte Integration Services group markets, or will market, a Fusion Adapter Designer, some sort of a SDK, which assists in the creation of Adapters. I do not know the availability of that product at this time.
    As to your question "Is it reasonable to consider doing this project under Fusion as a
    getting-feet-wet experience?" If you (or your customer) can afford the costs, and the warehouse has published API's, I would say that you gotta get-your-feet-wet somehow. If the warehouse doesn't have published API's and are not willing to put forth the effort and resources to do so, I would say your chances of success are considerably less.
    In any case, IMHO, it will be a 'non trivial' undertaking.
    -later
    -labeaux
    "Thomas Mercer-Hursh, Ph.D." <thomascintegrity.com> 10/31/00 04:49PM >>>This may be one of those questions which has no answer, but ...
    Our long term plan is to develop XML APIs to each of the modules in our
    suite of non-Forte applications and to integrate these under Fusion, thus
    gaining Conductor management of the inter-module work flows and a cleaner
    loose coupling of the applications along with other benefits such as the
    ease of integration with other packages, a clean way to migrate to Forte
    modules, and an ease of interconnecting "mini-applications" to address
    specific customer needs.
    I have an existing customer who has made a decision to migrate to a third
    party warehouse from an in-house warehouse. I.e., were this transition to
    the new structure complete, this would correspond to unhooking some of our
    modules and replacing these with an adapter to the corresponding modules in
    the third party warehouse.
    In fact, as it looks now, I will need to build the logical equivalent of
    these APIs anyway -- might as well do it in XML, right? And these APIs
    will communicate with a daemon responsible for the message traffic to and
    from. I tried to get this traffic to be XML and to use MQSeries or JMS as
    the transport, but the folks at the warehouse end don't seem to be able to
    handle such things, so I am stuck doing something fairly stupid for the
    actual communication.
    So, the question for those out there who have already paid their Fusion
    dues, is it reasonable to consider doing this project under Fusion as a
    getting-feet-wet experience. There are only half a dozen APIs to do and I
    have to do those anyway and am inclined to make them XML regardless. There
    will be one communication daemon to which all these connect and the
    business processes originally implemented in Conductor will basically be
    just point to point connects, except for routing traffic from the daemon to
    the right API based on message type. That's really all I need it to do,
    i.e., far too simple to actually need Fusion, but a possible opportunity
    to get started and then to expand to other uses.
    Crazy?
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
    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
    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 07:55 AM 11/1/00, Labeaux Schiek wrote:
    As a novice fusion user, one of the largest obstacles to using Fusion is
    the lack of XML API's in an application, be it a customer's in-house or
    vendor's software product.In this case, the good news is that one of the applications in question is
    our own, so whipping up an XML API to suit each required transaction on
    that side is no more, probably less, work than importing or exporting a
    flat file or whatever. Moreover, my current expectation of how this
    interaction will work is something like this:
    </pre>
    ---Fusion------
    | |
    WACS<-->WACS_Daemon<----VPN socket
    connection---->IS_Daemon I/S
    </pre>
    I.e., I/S, our application, and the IS_Daemon which handles the connection
    traffic across the internet link are both mine. For I/S, I will create XML
    APIs to suit. For the IS_daemon, I might use the transform facilities to
    convert this XML to the pipe-delimited format they are expected at the
    other end and make the daemon a simple manager of the connection or, the
    daemon could do the conversion, but the former seems like the more
    appropriate approach. The API between the two daemons is something we are
    defining now (unfortunately I lost the argument to make that XML).
    Corresponding to this is simply the lack of any API's in the
    application. As Forte (abet Sun, now iPlanet) says in their training
    manual 'A nontrivial task is to build new adapters for your programs if
    you wish to enable them to interact using XML documents over HTTP'.My neophyte understanding is that, since I am defining the API to I/S in
    the diagram above and I can make this XML, then the adapter issue
    disappears there. I might have to create an adapter for the daemon, but if
    necessary, I could make that the same XML on a pass through and do the
    translation in the daemon.
    If not, then, IMHO, you have steep hill to climb, not the least being
    communication, cooperation, and coordination from the warehouse vendor
    (another one of those 'nontrivial tasks') in trying to create the required
    API'sWe are well through this process anyway. ... which is not to say that it
    has been or will be easy, but it must be done whether I use Fusion or
    not. Given that the vote has gone in favor of simple messages of
    pipe-delimited records, i.e., basically flat file, the technical issues
    there are minimal.
    if so, then it is a matter of building an adapter, in a language that is
    compatible with the warehouse's API (hopefully C or some derivation of) ,
    that contains (1) a DOM (Document Object Module) to API Translator, (2)
    an XML Parser (converts XML to DOM and visa-versa) , and (3) a HTTP server
    (again, another one of those 'nontrivial tasks').I'm not sure I quite understand what you are saying here. The HTTP part
    won't be there since we will apparently be connecting via a VPN sockets
    connection. But, how are you distinguishing DOM and XML since DOM is a
    particular form of XML? The XML API I build for I/S will be DOM compliant.
    Forte (abet Sun, now iPlanet) suggests, and I would concur (with
    reservations), that if you haven't done this before you should probably
    hire their services from the Forte Integration Services group. Their
    costs (admittible high) should be offset be the time it would take to
    develop one on your own. A side benefit is working with them, you learn
    the process for making other adapters in the future. If Fusion is a
    marketing success, then the benefits should out weigh the costs.I am familiar with the "party" line. If I were building a complete
    interface to another major product (I/S is roughly equivalent to JDEC in
    coverage) in the context of an EAI project, I would happily invite them in
    and hope to pick up pointers. Here, though, there are only 8 or 9 total
    transaction types and either all of the interfaces are XML, i.e., no
    adapter required as I understand it, or only the daemon will need an
    adapter and that will be a choice I can make depending on how things
    go. One does wish it were possible to sample a small piece of that
    knowledge store without having to buy the whole thing, though.
    The Forte Integration Services group markets, or will market, a Fusion
    Adapter Designer, some sort of a SDK, which assists in the creation of
    Adapters. I do not know the availability of that product at this time.Last I checked, one couldn't get this without the consulting ... hence the
    last sentence above.
    Thanks for your input.
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
    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

  • RE: (forte-users) FW: (forte-users)

    Hi there
    Thanks very much for the solution - just wanted to let you know . We
    implemented the design that technote 11378 suggested .
    It worked .
    Thanks very much
    Cheers
    Jen
    -----Original Message-----
    From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
    Sent: Tuesday, 20 March, 2001 9:21 PM
    To: 'forte-userslists.xpedior.com'
    Subject: (forte-users) FW: (forte-users)
    Hi David,
    The problem is that the SO uses an attribute of its class ACBAccount as
    the ObjectReference pointer. SO is not a stateless object. The possible
    scenario before crash can be that client A and B calls SO at the same
    time. A's thread creates ACBAccount gets the ObjectReference. At this
    point B's thread is activated, does the same as A creates new
    ObjectReference. Probably the next switch between A and B will be in the
    Connect() (B should wait for OLE server). If A is reactivated it doesn't
    get the original own reference but the B's reference. It can cause the
    crash and means that a thread can use reference created in some other
    thread.
    Regards,
    Zenon
    -----Original Message-----
    From: David McPaul [SMTP:dmcpaullumley.com.au]
    Sent: Monday, March 19, 2001 11:52 PM
    To: 'forte-userslists.xpedior.com'
    Subject: RE: (forte-users)
    Jenni,
    As Zenon has pointed out, technote 11378 talks about problems that
    can occur if the calls made to an OLE object are not from within the same
    thread the OLE object was created in. It goes on to show a design to
    avoid
    this.
    However, the code you have given DOES communicate to the OLE object
    in the same thread as it was created. So the problem as I see it is more
    likely to be that the OLE object is not being garbage collected. Although
    you do explicitly NIL out the ACBAccount object there is a technote 12453
    that deals with the need to set the ObjectReference of CDispatch objects
    to
    NIL to allow the OLE object to be completely reclaimed by the garbage
    collector. Failure to do so when using code that creates a new OLE object
    every time you ask for an account validation will eventually run the
    partition out of memory.
    As pointed out in a previous post you can also increase
    FORTE_STACK_SIZE but this will delay the problem not correct it.
    Rather than create the connection each time you may want to think
    about redesigning the method as shown in tech note 11378.
    Cheers
    David
    -----Original Message-----
    From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
    Sent: Tuesday, March 20, 2001 5:05 AM
    To: 'Els, Jenni'
    Cc: 'forte-userslists.xpedior.com'
    Subject: RE: (forte-users)
    Hi Jenni,
    The most important issue by designing an OLE connection between a Forte
    server partition and an OLE component is taking into account that an OLE
    object can be referenced from the NT thread in Forte partition that it was
    created in. It is the reason that you have no problems with your mini-app
    in
    single-threaded version.
    This problem is discussed in the Technote 11378. You can find a workaround
    for your problem there, too.
    Regards,
    Zenon
    -----Original Message-----
    From: Els, Jenni [SMTP:JElsnbs.co.za]
    Sent: Monday, March 19, 2001 2:28 AM
    To: 'forte-userslists.xpedior.com'
    Subject: (forte-users)
    Hi there
    We have this situation
    We are calling a Service Object (in the server partition) from ourclient
    partition.This service object calls a method which calls a DLLregistered
    on our server (VB code) . This VB code access a database on anotherserver
    .(DSN set up on our server ).The database is sql server .
    We are having the problem where for about 3 hours in the morning , the
    system works perfectly. We then get a segmentation violation on this
    partition . When we run interpreted we can see that this is an OLEinvoked
    exception. The partition does not always show as offline in econsole
    and
    because it does not , we cannot 'online' another . We cannot take the
    entire app down as everything hangs . Eventually our technical depthas
    to
    down the server
    We set up a mini-app looping through and calling the DLL to simulate
    the
    problem . It worked fine. When we put another asynchronous task in the
    method to call the service object , it erred quite soon. We thencreate
    an
    attribute of type mutex and locked using that. The mini-app worked.
    However our app in development eventually hanged (without the
    partition
    coming though) .
    The service Object is an environment visible service object in asingle
    (non-replicated partition) . It has a dialog duration = session .
    In the project is
    ACB : ACBObject
    ACBObject : CDispatch (shared = disallowed , distributed =
    disallowed, transactional = disallowed, monitored = allowed)
    ACBValidator : Object (shared = allowed , distributed =allowed,
    transactional = disallowed, monitored = disallowed)
    ACBVaidatorSO : ACBValidator
    In this method we have this code to call the DLL
    self.ACBAccount = new;
    self.ACBAccount.CreateUsingCLSID(classID='{2EFD3084-7B05-11D3-857F-00105A4
    8CEA0}');
    pErrorMessage = new;
    acbaccount.BankCode = pBankCode.value;
    acbaccount.BranchCode = pBranchCode.value;
    at : VariantI2 = new;
    at.Value = pAccountType.Value;
    acbaccount.AccountType = at.Value;
    acbaccount.AccountNo = pAccountNo.value;
    begin
    acbaccount.Connect();
    exception
    when e : GenericException do
    ex : GenericException = new;
    ex.SetWithParams(severity = SP_ER_ERROR,
    message = 'There was an error connecting to the database');
    raise ex;
    end;
    begin
    err : i2 = acbaccount.ValidateAccount();
    if err != 0 then
    pErrorMessage.SetValue(acbaccount.ErrDescriptionStr(iErrorCode= err));
    acbaccount.Disconnect();
    return false;
    else
    pErrorMessage.SetValue('The account is
    valid!!');
    acbaccount.Disconnect();
    self.ACBAccount = NIL ;
    return true;
    end if;
    exception
    when e : GenericException do
    acbaccount.Disconnect();
    ex : GenericException = new;
    ex.SetWithParams(severity = SP_ER_ERROR,
    message = 'There was an error Validating the account');
    Task.ErrorMgr.AddError(ex);
    task.errormgr.ShowErrors();
    raise e;
    end;
    exception
    when e : GenericException do
    acbaccount.Disconnect();
    Task.ErrorMgr.ShowErrors();
    raise e;
    If anybody has any suggestions , they would be most welcome
    Thanks very much
    Cheers
    Jenni Els************************************************************************Th
    is e-mail is intended for the use of the individual or entity named above
    and may contain information that is confidential and privileged. If you
    are not the intended recipient, you are hereby notified that any
    dissemination, distribution or copying of this e-mail is strictly
    prohibited. If you have received this e-mail in error, please notify us
    immediately at helpdesklumley.com.au and destroy the original message.
    While this mail and any attachments have been scanned for common computer
    viruses and found to be virus free, we recommend you also perform your own
    virus checking processes before opening any attachments.
    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
    WARNING:
    Any unauthorised use or interception of this email is illegal. If this email
    is not intended for you, you may not copy, distribute nor disclose the
    contents to anyone. Save for bona fide company matters, the BoE Group does
    not accept any responsibility for the opinions expressed in this email.
    For further details please see: http://www.nbs.co.za/emaildisclaim.htm

    Hi there
    Thanks very much for the solution - just wanted to let you know . We
    implemented the design that technote 11378 suggested .
    It worked .
    Thanks very much
    Cheers
    Jen
    -----Original Message-----
    From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
    Sent: Tuesday, 20 March, 2001 9:21 PM
    To: 'forte-userslists.xpedior.com'
    Subject: (forte-users) FW: (forte-users)
    Hi David,
    The problem is that the SO uses an attribute of its class ACBAccount as
    the ObjectReference pointer. SO is not a stateless object. The possible
    scenario before crash can be that client A and B calls SO at the same
    time. A's thread creates ACBAccount gets the ObjectReference. At this
    point B's thread is activated, does the same as A creates new
    ObjectReference. Probably the next switch between A and B will be in the
    Connect() (B should wait for OLE server). If A is reactivated it doesn't
    get the original own reference but the B's reference. It can cause the
    crash and means that a thread can use reference created in some other
    thread.
    Regards,
    Zenon
    -----Original Message-----
    From: David McPaul [SMTP:dmcpaullumley.com.au]
    Sent: Monday, March 19, 2001 11:52 PM
    To: 'forte-userslists.xpedior.com'
    Subject: RE: (forte-users)
    Jenni,
    As Zenon has pointed out, technote 11378 talks about problems that
    can occur if the calls made to an OLE object are not from within the same
    thread the OLE object was created in. It goes on to show a design to
    avoid
    this.
    However, the code you have given DOES communicate to the OLE object
    in the same thread as it was created. So the problem as I see it is more
    likely to be that the OLE object is not being garbage collected. Although
    you do explicitly NIL out the ACBAccount object there is a technote 12453
    that deals with the need to set the ObjectReference of CDispatch objects
    to
    NIL to allow the OLE object to be completely reclaimed by the garbage
    collector. Failure to do so when using code that creates a new OLE object
    every time you ask for an account validation will eventually run the
    partition out of memory.
    As pointed out in a previous post you can also increase
    FORTE_STACK_SIZE but this will delay the problem not correct it.
    Rather than create the connection each time you may want to think
    about redesigning the method as shown in tech note 11378.
    Cheers
    David
    -----Original Message-----
    From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
    Sent: Tuesday, March 20, 2001 5:05 AM
    To: 'Els, Jenni'
    Cc: 'forte-userslists.xpedior.com'
    Subject: RE: (forte-users)
    Hi Jenni,
    The most important issue by designing an OLE connection between a Forte
    server partition and an OLE component is taking into account that an OLE
    object can be referenced from the NT thread in Forte partition that it was
    created in. It is the reason that you have no problems with your mini-app
    in
    single-threaded version.
    This problem is discussed in the Technote 11378. You can find a workaround
    for your problem there, too.
    Regards,
    Zenon
    -----Original Message-----
    From: Els, Jenni [SMTP:JElsnbs.co.za]
    Sent: Monday, March 19, 2001 2:28 AM
    To: 'forte-userslists.xpedior.com'
    Subject: (forte-users)
    Hi there
    We have this situation
    We are calling a Service Object (in the server partition) from ourclient
    partition.This service object calls a method which calls a DLLregistered
    on our server (VB code) . This VB code access a database on anotherserver
    .(DSN set up on our server ).The database is sql server .
    We are having the problem where for about 3 hours in the morning , the
    system works perfectly. We then get a segmentation violation on this
    partition . When we run interpreted we can see that this is an OLEinvoked
    exception. The partition does not always show as offline in econsole
    and
    because it does not , we cannot 'online' another . We cannot take the
    entire app down as everything hangs . Eventually our technical depthas
    to
    down the server
    We set up a mini-app looping through and calling the DLL to simulate
    the
    problem . It worked fine. When we put another asynchronous task in the
    method to call the service object , it erred quite soon. We thencreate
    an
    attribute of type mutex and locked using that. The mini-app worked.
    However our app in development eventually hanged (without the
    partition
    coming though) .
    The service Object is an environment visible service object in asingle
    (non-replicated partition) . It has a dialog duration = session .
    In the project is
    ACB : ACBObject
    ACBObject : CDispatch (shared = disallowed , distributed =
    disallowed, transactional = disallowed, monitored = allowed)
    ACBValidator : Object (shared = allowed , distributed =allowed,
    transactional = disallowed, monitored = disallowed)
    ACBVaidatorSO : ACBValidator
    In this method we have this code to call the DLL
    self.ACBAccount = new;
    self.ACBAccount.CreateUsingCLSID(classID='{2EFD3084-7B05-11D3-857F-00105A4
    8CEA0}');
    pErrorMessage = new;
    acbaccount.BankCode = pBankCode.value;
    acbaccount.BranchCode = pBranchCode.value;
    at : VariantI2 = new;
    at.Value = pAccountType.Value;
    acbaccount.AccountType = at.Value;
    acbaccount.AccountNo = pAccountNo.value;
    begin
    acbaccount.Connect();
    exception
    when e : GenericException do
    ex : GenericException = new;
    ex.SetWithParams(severity = SP_ER_ERROR,
    message = 'There was an error connecting to the database');
    raise ex;
    end;
    begin
    err : i2 = acbaccount.ValidateAccount();
    if err != 0 then
    pErrorMessage.SetValue(acbaccount.ErrDescriptionStr(iErrorCode= err));
    acbaccount.Disconnect();
    return false;
    else
    pErrorMessage.SetValue('The account is
    valid!!');
    acbaccount.Disconnect();
    self.ACBAccount = NIL ;
    return true;
    end if;
    exception
    when e : GenericException do
    acbaccount.Disconnect();
    ex : GenericException = new;
    ex.SetWithParams(severity = SP_ER_ERROR,
    message = 'There was an error Validating the account');
    Task.ErrorMgr.AddError(ex);
    task.errormgr.ShowErrors();
    raise e;
    end;
    exception
    when e : GenericException do
    acbaccount.Disconnect();
    Task.ErrorMgr.ShowErrors();
    raise e;
    If anybody has any suggestions , they would be most welcome
    Thanks very much
    Cheers
    Jenni Els************************************************************************Th
    is e-mail is intended for the use of the individual or entity named above
    and may contain information that is confidential and privileged. If you
    are not the intended recipient, you are hereby notified that any
    dissemination, distribution or copying of this e-mail is strictly
    prohibited. If you have received this e-mail in error, please notify us
    immediately at helpdesklumley.com.au and destroy the original message.
    While this mail and any attachments have been scanned for common computer
    viruses and found to be virus free, we recommend you also perform your own
    virus checking processes before opening any attachments.
    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
    WARNING:
    Any unauthorised use or interception of this email is illegal. If this email
    is not intended for you, you may not copy, distribute nor disclose the
    contents to anyone. Save for bona fide company matters, the BoE Group does
    not accept any responsibility for the opinions expressed in this email.
    For further details please see: http://www.nbs.co.za/emaildisclaim.htm

  • RE: (forte-users) appdist copy from VMS to NT question...

    Well, there are some graphic FTP clients for windows that allow
    you to get files from FTP-servers using simple drag and drop.
    Most of them even support the option of selecting a directory
    and dragging it, with all its subdirectories, to your local drive
    with a single mouse action.
    The only problem might be with binary vs. text files. The appdist
    directory has both filetypes. Getting text files as if they were
    binary files may cause problems. Getting binary files as if they
    were text certainly will cause problems. So, either get the
    whole tree binary and hope for the best. Or get each file indi-
    vidually and set the correct bin or asc setting. Or use a tool
    that is smart enough to see if a file is binary or text and hope
    it doesn't make any mistakes.
    Pascal Rottier
    STP - MSS Support & Coordination Group
    Philip Morris Europe
    e-mail: [email protected]
    Phone: +49 (0)89-72472530
    +++++++++++++++++++++++++++++++++++
    Origin IT-services
    Desktop Business Solutions Rotterdam
    e-mail: [email protected]
    Phone: +31 (0)10-2428100
    +++++++++++++++++++++++++++++++++++
    Don't meddle in the affairs of dragons
    'cause you're crunchy and taste good with ketchup
    -----Original Message-----
    From: Haben, Dirk [SMTP:[email protected]]
    Sent: Wednesday, December 08, 1999 6:32 AM
    To: 'Soapbox Forte Users'
    Subject: (forte-users) appdist copy from VMS to NT question ...
    G'day Folxs
    Does anyone here have a simple way to copy a whole appdist tree for myapp1
    say from VMS to NT? I have created a new environment on a NT box and want
    to
    copy down all our application distributions.
    eg:
    On OpenVMS machine vmsbox1 the directory tree and files
    vmsbox1::forte_root:[appdist.aenv_myapp_cl3...]*.*;
    should go to NT machine ntbox1
    [ntbox1] d:\temp\myapp\cl3\...
    Even just to d:\temp\aenv_myapp_cl3\... will do.
    ftp doesn't seem to do the trick here. Of cause I could write some routine
    to put/get file by file - but before I do all that I thought I ask around
    if
    it's already been done.
    Thanks,
    Dirk
    PS: Needless to say we still develop and makedist on VMS - for now (see
    Bulletin 388)!
    PPS: No I haven't forgotten about [appdist.aenv.myapp1]*.ace
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

    Well, there are some graphic FTP clients for windows that allow
    you to get files from FTP-servers using simple drag and drop.
    Most of them even support the option of selecting a directory
    and dragging it, with all its subdirectories, to your local drive
    with a single mouse action.
    The only problem might be with binary vs. text files. The appdist
    directory has both filetypes. Getting text files as if they were
    binary files may cause problems. Getting binary files as if they
    were text certainly will cause problems. So, either get the
    whole tree binary and hope for the best. Or get each file indi-
    vidually and set the correct bin or asc setting. Or use a tool
    that is smart enough to see if a file is binary or text and hope
    it doesn't make any mistakes.
    Pascal Rottier
    STP - MSS Support & Coordination Group
    Philip Morris Europe
    e-mail: [email protected]
    Phone: +49 (0)89-72472530
    +++++++++++++++++++++++++++++++++++
    Origin IT-services
    Desktop Business Solutions Rotterdam
    e-mail: [email protected]
    Phone: +31 (0)10-2428100
    +++++++++++++++++++++++++++++++++++
    Don't meddle in the affairs of dragons
    'cause you're crunchy and taste good with ketchup
    -----Original Message-----
    From: Haben, Dirk [SMTP:[email protected]]
    Sent: Wednesday, December 08, 1999 6:32 AM
    To: 'Soapbox Forte Users'
    Subject: (forte-users) appdist copy from VMS to NT question ...
    G'day Folxs
    Does anyone here have a simple way to copy a whole appdist tree for myapp1
    say from VMS to NT? I have created a new environment on a NT box and want
    to
    copy down all our application distributions.
    eg:
    On OpenVMS machine vmsbox1 the directory tree and files
    vmsbox1::forte_root:[appdist.aenv_myapp_cl3...]*.*;
    should go to NT machine ntbox1
    [ntbox1] d:\temp\myapp\cl3\...
    Even just to d:\temp\aenv_myapp_cl3\... will do.
    ftp doesn't seem to do the trick here. Of cause I could write some routine
    to put/get file by file - but before I do all that I thought I ask around
    if
    it's already been done.
    Thanks,
    Dirk
    PS: Needless to say we still develop and makedist on VMS - for now (see
    Bulletin 388)!
    PPS: No I haven't forgotten about [appdist.aenv.myapp1]*.ace
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

  • RE: (forte-users) Named Anchored Obj-EnvironmentFailover

    I did some playing around with this stuff as well. I can tell you a few
    things.
    1) The search path option of connected environments only works for SO's, not
    for named anchors.
    2) When EnvA creates a directory "/glob", which contains object "obj1", then
    EnvA owns directory "/glob". Even after restarting environments. If EnvB
    tries to add a subdirectory to "/glob" or inserts its own objects into this
    path, then the situation becomes unstable. It doesn't immediately produce an
    error, but things go wrong anyway. Is this a bug or expected behaviour? I
    don't know. I just learned not to do this. Every environment must place it's
    named anchors in it's own tree. Directories can't be shared.
    3) I think the relative name "glob/obj1" should work, but only if you set
    the ObjectLocationMgr to start looking at the root. Default, it will start
    looking in it's own environment basepath. But I don't have any experience
    with this.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Master Programmer [mailto:masterprghotmail.com]
    Sent: Monday, January 08, 2001 11:13 PM
    To: forte-userslists.xpedior.com
    Subject: (forte-users) Named Anchored Obj-Environment Failover
    Hi to all,
    We connect from EnvA to EnvB giving the user directory parameter as / and
    set the Environment Search Path
    as EnvA:EnvB. From both environments we start and register
    '/glob/obj1' named anchored objects with the same name.
    From a client we connect to EnvA and bind to'/glob/obj1' when we shutdown EnvA partition it fails-over to
    EnvB. And then we restart EnvA partition. We restart/rebind the client and
    try to use object. We see that it is using the EnvB object.
    Although we started the primary environment object again.
    It is not using the search path. Once we shutdown secondary environment
    it starts using primary environment object.
    When we try to use relative path when we are binding the object
    First parameter ('glob/obj1') No first slash. Trying 3rd parameter
    for bind function or just using environment search path, Is is not able to
    find the object. From nsls command I figured out that
    under the root directory
    /forte/UUID of ENVA/node
    /site
    /UUID of ENVB
    /glob/obj1
    names are available. When we use relative path (without slash)
    is it trying to find /glob/obj1 under the /forte/UUID of ENVA
    but we are registering the name under the root.
    What is the reason of this odd behaviour or is this a bug?
    Any answer will be appreciated,
    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

    I did some playing around with this stuff as well. I can tell you a few
    things.
    1) The search path option of connected environments only works for SO's, not
    for named anchors.
    2) When EnvA creates a directory "/glob", which contains object "obj1", then
    EnvA owns directory "/glob". Even after restarting environments. If EnvB
    tries to add a subdirectory to "/glob" or inserts its own objects into this
    path, then the situation becomes unstable. It doesn't immediately produce an
    error, but things go wrong anyway. Is this a bug or expected behaviour? I
    don't know. I just learned not to do this. Every environment must place it's
    named anchors in it's own tree. Directories can't be shared.
    3) I think the relative name "glob/obj1" should work, but only if you set
    the ObjectLocationMgr to start looking at the root. Default, it will start
    looking in it's own environment basepath. But I don't have any experience
    with this.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Master Programmer [mailto:masterprghotmail.com]
    Sent: Monday, January 08, 2001 11:13 PM
    To: forte-userslists.xpedior.com
    Subject: (forte-users) Named Anchored Obj-Environment Failover
    Hi to all,
    We connect from EnvA to EnvB giving the user directory parameter as / and
    set the Environment Search Path
    as EnvA:EnvB. From both environments we start and register
    '/glob/obj1' named anchored objects with the same name.
    From a client we connect to EnvA and bind to'/glob/obj1' when we shutdown EnvA partition it fails-over to
    EnvB. And then we restart EnvA partition. We restart/rebind the client and
    try to use object. We see that it is using the EnvB object.
    Although we started the primary environment object again.
    It is not using the search path. Once we shutdown secondary environment
    it starts using primary environment object.
    When we try to use relative path when we are binding the object
    First parameter ('glob/obj1') No first slash. Trying 3rd parameter
    for bind function or just using environment search path, Is is not able to
    find the object. From nsls command I figured out that
    under the root directory
    /forte/UUID of ENVA/node
    /site
    /UUID of ENVB
    /glob/obj1
    names are available. When we use relative path (without slash)
    is it trying to find /glob/obj1 under the /forte/UUID of ENVA
    but we are registering the name under the root.
    What is the reason of this odd behaviour or is this a bug?
    Any answer will be appreciated,
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • Re: forte-users-digest V1 #89

    forte-users-digest Tuesday, 8 October 1996 Volume 01 : Number 089
    From: Alexander Ananiev <[email protected]>
    Date: Tue, 08 Oct 1996 16:36:14 -0500
    Subject: "Single DBSession" approach
    The standard Forte approach for the database access assumes
    that one DBSession handles requests from several users
    (clients), so the database connection is not associated with
    the particular user. This significantly impacts the
    architecture of the Forte application. Some of the problems
    caused by this approach are:
    1) An application-level security system should be developed
    instead of using the DBMS security system. Suffice it to say
    that application-level security system cannot provide the
    protection from back-door access to the database.
    2) The application cannot utilize the DBMS locking mechanism
    for the case when the record is retrieved to the client for
    editing purposes ("long" transaction).
    It means that SecurityManager and LockManager should be
    developed to resolve these problems. This does not seem to be
    very good solution because these objects are intended to repeat
    the functionality of the DBMS. And these parts of the
    application may become pretty complicated. For example, my
    project's experience shows that the development of the lock
    manager is not a trivial task and most likely this lock manager
    will be worse than the DBMS locking mechanism in terms of
    reliability and performance just because it acts as an outside
    program to the database. Besides, this approach could cause
    serious problems if the database can be updated by non-Forte
    applications (e.g., by some legacy system or batch process).
    "One DBSession per several users" approach makes sense if each
    user connection to the database is implemented as one
    server process.(Another good argument in favor of single
    DBsession is a heterogeneous environment where there is no
    stable connection to one database, but here I'm talking about a
    "regular" application that uses only one DBMS.) Since most of
    the time this process is idle, then, of course, decreasing the
    number of processes leads to better server utilization and
    performance. But by its sense, database connection is just the
    current transaction ID (with the user id, of course). So the
    connection could be just a number that should be passed to the
    DBMS along with each request and then DBMS can create a thread
    to handle the request or forward it to the next available
    process if it does not support multithreading.
    DBMS vendors realize this and some of them already implemented
    this approach (I know that Oracle and Informix did that and
    Sybase was mentioned in the recent "one-threaded DBSession"
    discussion). And one-threaded DBSession that lives on the
    server doesn't fit well to that. The better approach would be
    to make DBSession the attribute of the TransactionHandle
    object, so the current connection will always be passed from
    the client to the service and this service can work through
    this connection.
    So, my point is that the application should let DBMS do its
    work and use as much of the functionality of the DBMS as
    possible and the "single DBsession" approach doesn't help it to
    do that.
    I would be glad to hear any other opinion on this topic. I
    think that the "DBsession" problem is extremely important for
    any multi-tier application (for example, all Web applications
    are facing this problem). I'm also interested in how people
    are dealing with this problem on other projects, for example if
    there are some projects where the alternative approach (one
    DBSession per each user) was implemented and what problems were
    encountered during that.
    Alexander Ananyev
    Price Waterhouse
    End of forte-users-digest V1 #89
    One of the first issues that needs to be addressed is that passing
    DBSessions from partition to partition is a huge performance hit. When
    Forte executes a SQL SELECT or FETCH statement on a DBSession that exists
    outside the current partition (DBSessions are "anchored" objects that are
    accessed via proxies.) Forte fetches the result set into the partition
    containing the DBSession and then passes proxies or creates copies into
    the partition where the SQL code is located. These are some of the
    largest performance hits you can take in Forte.

    forte-users-digest Tuesday, 8 October 1996 Volume 01 : Number 089
    From: Alexander Ananiev <[email protected]>
    Date: Tue, 08 Oct 1996 16:36:14 -0500
    Subject: "Single DBSession" approach
    The standard Forte approach for the database access assumes
    that one DBSession handles requests from several users
    (clients), so the database connection is not associated with
    the particular user. This significantly impacts the
    architecture of the Forte application. Some of the problems
    caused by this approach are:
    1) An application-level security system should be developed
    instead of using the DBMS security system. Suffice it to say
    that application-level security system cannot provide the
    protection from back-door access to the database.
    2) The application cannot utilize the DBMS locking mechanism
    for the case when the record is retrieved to the client for
    editing purposes ("long" transaction).
    It means that SecurityManager and LockManager should be
    developed to resolve these problems. This does not seem to be
    very good solution because these objects are intended to repeat
    the functionality of the DBMS. And these parts of the
    application may become pretty complicated. For example, my
    project's experience shows that the development of the lock
    manager is not a trivial task and most likely this lock manager
    will be worse than the DBMS locking mechanism in terms of
    reliability and performance just because it acts as an outside
    program to the database. Besides, this approach could cause
    serious problems if the database can be updated by non-Forte
    applications (e.g., by some legacy system or batch process).
    "One DBSession per several users" approach makes sense if each
    user connection to the database is implemented as one
    server process.(Another good argument in favor of single
    DBsession is a heterogeneous environment where there is no
    stable connection to one database, but here I'm talking about a
    "regular" application that uses only one DBMS.) Since most of
    the time this process is idle, then, of course, decreasing the
    number of processes leads to better server utilization and
    performance. But by its sense, database connection is just the
    current transaction ID (with the user id, of course). So the
    connection could be just a number that should be passed to the
    DBMS along with each request and then DBMS can create a thread
    to handle the request or forward it to the next available
    process if it does not support multithreading.
    DBMS vendors realize this and some of them already implemented
    this approach (I know that Oracle and Informix did that and
    Sybase was mentioned in the recent "one-threaded DBSession"
    discussion). And one-threaded DBSession that lives on the
    server doesn't fit well to that. The better approach would be
    to make DBSession the attribute of the TransactionHandle
    object, so the current connection will always be passed from
    the client to the service and this service can work through
    this connection.
    So, my point is that the application should let DBMS do its
    work and use as much of the functionality of the DBMS as
    possible and the "single DBsession" approach doesn't help it to
    do that.
    I would be glad to hear any other opinion on this topic. I
    think that the "DBsession" problem is extremely important for
    any multi-tier application (for example, all Web applications
    are facing this problem). I'm also interested in how people
    are dealing with this problem on other projects, for example if
    there are some projects where the alternative approach (one
    DBSession per each user) was implemented and what problems were
    encountered during that.
    Alexander Ananyev
    Price Waterhouse
    End of forte-users-digest V1 #89
    One of the first issues that needs to be addressed is that passing
    DBSessions from partition to partition is a huge performance hit. When
    Forte executes a SQL SELECT or FETCH statement on a DBSession that exists
    outside the current partition (DBSessions are "anchored" objects that are
    accessed via proxies.) Forte fetches the result set into the partition
    containing the DBSession and then passes proxies or creates copies into
    the partition where the SQL code is located. These are some of the
    largest performance hits you can take in Forte.

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

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

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

  • Re: (forte-users) Using IN in a direct SQLstatement.

    Hi,
    What does the string in myType look like? You should
    be careful with ' and \ as they are used by Forte. I
    suggest you post a sample of the myType's value.
    Regards,
    Peter Sham.
    --- Rumen Georgiev <[email protected]> wrote:
    Hi folks,
    I have a problem when executing direct SELECT
    statement against Oracle 7.4, something like that:
    SQL SELECT ..... INTO .... FROM ..... WHERE .....
    AND
    TYPE IN :myType ON SESSION .......
    myType is TextData containing a list of possible
    values separated by commas. myType is set at run
    time.
    When executed through SQL*Plus the result is O.K..
    When executed through Forte it doesn't return
    anything. It seems that eigther Forte or Oracle
    disregards the commas and treats myType as it will
    with =,>,<. What makes me think so is that when
    myType
    holds single value it works. It fails as soon as I
    concatenate one more value from the list. Same
    happens
    when using cursor. I didn't try it with DBSession
    methods but I assume the result will be the same. I
    can't use EXECUTE EMMEDIATE because I expect result
    set(INTO). So far the only way I can think of is a
    WHILE loop for every single value from the list.
    Any ideas,comments or workarounds?
    Thank's in advance.
    Rumen
    For the archives, go to:
    http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To
    unsubscribe, send in a new
    email the word: 'Unsubscribe' to:
    [email protected]
    =====

    rumen, peter,
    Database placeholder substitution is only available for atomic value,
    ie. myType can only be CI, or NG, or MS.
    There are many ways to workaround this limitation, such as defining
    your select statement to contain the IN clause before doing the DBprepare.
    hope this helps,
    linh ...
    -----Original Message-----
    From: Peter Sham [mailto:[email protected]]
    Sent: Tuesday, October 12, 1999 5:57 PM
    To: Rumen Georgiev; [email protected]
    Subject: Re: (forte-users) Using IN in a direct SQL statement.
    Hi,
    Maybe try this:
    myType.setValue('(\'CI\',\'NG\',\'MS\')');
    Regards,
    Peter Sham.
    --- Rumen Georgiev <[email protected]> wrote:
    Peter,
    I tried a couple of things to no avail. The simplest
    one is like this:
    myType.SetValue('\'CI\',\'NG\',\'MS\'');
    It works if I do
    myType.SetValue('\'CI\'');
    Same is valid if myType is declared as a String.
    Hi,
    What does the string in myType look like? Youshould
    be careful with ' and \ as they are used by Forte. I
    suggest you post a sample of the myType's value.
    Regards,
    Peter Sham.
    --- Rumen Georgiev <[email protected]> wrote:
    Hi folks,
    I have a problem when executing direct SELECT
    statement against Oracle 7.4, something like that:
    SQL SELECT ..... INTO .... FROM ..... WHERE .....
    AND
    TYPE IN :myType ON SESSION .......
    myType is TextData containing a list of possible
    values separated by commas. myType is set at run
    time.
    When executed through SQL*Plus the result is O.K..
    When executed through Forte it doesn't return
    anything. It seems that eigther Forte or Oracle
    disregards the commas and treats myType as it will
    with =,>,<. What makes me think so is that when
    myType
    holds single value it works. It fails as soon as I
    concatenate one more value from the list. Same
    happens
    when using cursor. I didn't try it with DBSession
    methods but I assume the result will be the same.I
    can't use EXECUTE EMMEDIATE because I expectresult
    set(INTO). So far the only way I can think of is a
    WHILE loop for every single value from the list.
    Any ideas,comments or workarounds?
    Thank's in advance.
    Rumen__________________________________________________
    For the archives, go to:
    http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To
    unsubscribe, send in a new
    email the word: 'Unsubscribe' to:
    [email protected]
    =====
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to: [email protected]

  • Re: (forte-users) Ok, what's the "secret" for setting serverside envi

    Dear Robinson,
    It seems to be that you have 2 ways of solving the problem:
    1) restart forte after setting the environment variables
    2) write a little application which sets the required variables, using
    the task.part.OperatingSystem.SetEnv(name,value) method.
    If you have to chage the variables rarely, then it`s easier to restart forte,
    otherwise I would suggest to use the SetEnv function...
    Best Regards,
    Tamas Deak
    "Robinson, Richard" wrote:
    Subject says it all.
    We have a bunch of environment variables that are used by the server side
    objects. What I want to do is change the value of some of the variables
    prior to running my application in Forte Development IDE (3.0.G.2). I've
    tried to set the environment variables via NT's registry, but it appears
    that at execution time the variables take on the value of whatever they are
    for the node manager.
    Most IDE's I've worked with before have a way to specify environment
    variables right in the tool. Forte doesn't appear to have that capability -
    say it ain't so!
    Any clues?
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    Tamas Deak
    Lufthansa Systems Hungary
    (forte developer)
    2-6 Mazsa ter, Budapest, 1107, HUNGARY
    (36-1) 4312 973
    [email protected]
    [email protected][email protected]-

    Richard,
    There is no way of changing the environment variable once the Node
    Manager is up. You will have to shutdown the node manager and then restart
    it to have the new environment variables take effect. Sorry, there is no
    secret way of doing this that I know of.
    But you can set the variables on you development machine and run you
    application without distributing. This way the partition will be running in
    your client machine and not the server.
    Another way we have also got around this is by having a special
    environment variable on the client side that opens a admin screen when you
    run you application. This admin screen will allow you to change the
    environment variables and then set them on the server partition. You will
    have to do come coding on the server to make this happen but if you are
    using a framework then it should be easy. We call this developer reconnect
    facility. It only can be activated by the special client side environment
    variable. I comes in very handy when we are development and want to change
    the database on the server partition.
    Hope this help.
    ka
    Kamran Amin
    Framework, Inc.
    303 South Broadway
    Tarrytown, NY 10591
    (914) 631-2322x121
    [email protected]
    http://www.frameworkinc.com/
    -----Original Message-----
    From: Robinson, Richard [mailto:[email protected]]
    Sent: Thursday, November 04, 1999 7:23 AM
    To: [email protected]
    Subject: (forte-users) Ok, what's the "secret" for setting server side
    environment varia bles when running in the Forte Development
    Environment?
    Subject says it all.
    We have a bunch of environment variables that are used by the server side
    objects. What I want to do is change the value of some of the variables
    prior to running my application in Forte Development IDE (3.0.G.2). I've
    tried to set the environment variables via NT's registry, but it appears
    that at execution time the variables take on the value of whatever they are
    for the node manager.
    Most IDE's I've worked with before have a way to specify environment
    variables right in the tool. Forte doesn't appear to have that capability -
    say it ain't so!
    Any clues?
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

  • Re: (forte-users) Forte and CORBA question

    Hi,
    The discarding the Java variable that references a distributed Forte object
    doesn't cause that the distributed object will be reclaimed. In Forte client
    you can use ReleaseDistReference() of the current partition (task.part) to
    free the remote object. For Java client, you can implement the following
    solution:
    - define a method ReleaseMyObject() in the SO you are using to get the proxy
    to the dist. object. As parameter for it use something that can identify
    your object (attribute).
    - your SO has an array or hashtable with your distributed objects, every new
    object is added to it.
    - in the implementation of ReleaseMyObject() find the object to release in
    the array and call ReleaseDistReference() for it,
    - from the Java client, call the ReleaseMyObject() for the object that is
    not more needed.
    Regards,
    Zenon Adamek
    ----- Original Message -----
    From: Joseph Mirwald <jomirweb.de>
    To: Dave Ortman <dortmanyahoo.com>; 'Forte User Forum'
    <forte-userslists.xpedior.com>
    Sent: Wednesday, March 07, 2001 3:58 PM
    Subject: Re: (forte-users) Forte and CORBA question
    Hello Dave,
    do you use a copy return or copy parameters in this method ?
    If not, then maybe Forte is unable to garbage-collect this object because
    it is forever
    a proxy which only the server-partition may be able to drop it from memory
    (object=NIL).
    Try this and let us know what happens.
    Hope this helps
    Joseph Mirwald
    At 11:49 07.03.01 -0800, Dave Ortman wrote:
    We're attempting to use a Java client to access a
    Forte server. In doing such, we've experienced a
    problem which I hoped somebody could shed some light
    on.
    We've had a Java client calling Forte service objects
    and passing Forte objects back and forth as CORBA
    structs with no problem. However, we have experienced
    some problem obtaining and using remote references to
    distributed objects from the Java client.
    The problem is memory utilization. Each time I obtain
    a reference to a new object, the memory utilization on
    the Forte server jumps up quite a bit (around 100k per
    object on an NT box). Eventually, if I fetch enough
    objects, the server will crash due to lack of memory.
    It seems that Forte never reclaims the memory, even
    though I'm not using (and don't have a handle to) this
    remote objects.
    The objects are very small. In fact, I created a test
    Forte SO with one method, getObject(); which returns a
    distributed object with a single attribute. I then
    have a Java client access the getObject() method
    repeatedly - discarding the reference to the object
    after each iteration. After a short while, the box
    will come down.
    Any thoughts?
    Thanks in advance,
    -Dave Ortman
    --- "Epari, Madhusudhan" <meparioxhp.com> wrote:
    Hi All,
    Following error occurs consistently on a router
    partition for every call to
    the service object but the partition doesn't die or
    crash. I tried bumping
    up the partition memory too. Any thoughts on why
    it's happening?
    Thanks in advance,
    Madhu
    SYSTEM ERROR: Failed to connect or lost connection
    to the
    environment manager
    at FORTE_NS_ADDRESS = <Unknown>. Check that the
    environment
    manager is
    installed at that location. If it is, then check
    to be sure that
    there are
    enough system resources available to support this
    partition.
    Class: qqsp_SystemResourceException
    Error #: [601, 201]
    Detected at: qqdo_NsClient::FindObject at 1
    Error Time: Wed Feb 21 09:30:56
    Exception occurred (locally) on partition
    "CSA_cl0_Part2-router",
    (partitionId =
    C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
    taskId =
    [C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8]) in
    application
    "MWRouting_cl1", pid 18937 on node forted1 in
    environment
    frtedev.
    SYSTEM ERROR: Attempt to send from a partition
    (C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1)
    that no
    longer exists.
    Class: qqsp_DistAccessException
    Error #: [601, 111]
    Detected at: qqdo_PartitionMgr::SendMsg at
    1
    Error Time: Wed Feb 21 09:30:56
    Distributed method called:
    qqdo_NsServerProxy.FindObject
    (object name
    Unnamed) from partition
    "CSA_cl0_Part2-router",
    (partitionId =
    C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
    taskId =
    [C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8]) in
    application
    "MWRouting_cl1", pid 18937 on node
    forted1 in environment
    frtedev
    Exception occurred (locally) on partition
    "CSA_cl0_Part2-router",
    (partitionId =
    C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c:0x1,
    taskId =
    [C61609A0-8270-11D3-88A9-F4D005D0AA77:0x10c5c.8])
    in
    application "MWRouting_cl1", pid 18937 on
    node forted1 in
    environment
    frtedev.
    LbRouter::FindMembers - CAUGHT EXCEPTION attaching
    members from
    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--
    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

    Why not this:
    while myText.moveToString(' ') do
    myText.ReplaceRange('-', myText.Offset, myText.Offset+1);
    end while;
    or if you prefer verbosity:
    while myText.moveToString(source=' ') do
    myText.ReplaceRange(source='-', startOffset=myText.Offset,
    endOffset=myText.Offset+1);
    end while;
    -----Original Message-----
    From: FatchJeBAM.com [mailto:FatchJeBAM.com]
    Sent: Wednesday, January 12, 2000 2:51 PM
    To: Troy.Burnsvacationclub.com; kamranaminyahoo.com
    Subject: RE: (forte-users) search and replace within a TextData
    How about this?? May have to play with start/end on ReplaceRange as I
    didn't really test this
    Anybody got a better way??
    -- replace space with underscore
    For x in 1 to myTextdata.LengthToEnd() do
    If myTextData.IsSpace() then
    MyTextdata.ReplaceRange('_'. Startoffset=myTextdata.offset,
    endoffset=myTextdata.offset+1);
    End if;
    MyTextdata.MoveNext;
    End for;
    Jerry Fatcheric
    -----Original Message-----
    From: Burns, Troy [mailto:Troy.Burnsvacationclub.com]
    Sent: Wednesday, January 12, 2000 9:40 AM
    To: kamranaminyahoo.com
    Subject: (forte-users) search and replace within a
    TextData
    Hello all,
    I need to search within a textdata object, replacing all
    occurrances of a
    space
    with another character. Can you give a quick code example
    of how I would do
    this?
    Thanks in advance,
    Troy
    Troy Burns
    Marriott Vacation Club Intl.
    E-mail: troy.burnsvacationclub.com
    Phone: (941) 688-7700 ext. 4408
    For the archives, go to: http://lists.sageit.com/forte-users
    and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.sageit.com
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.sageit.com

  • RE: (forte-users) Events in Interface

    I know, I've implemented similar structures in other locations as well,
    always without problems. I've even recreated the whole interface, building
    it completely from dragging and dropping methods and events from the class
    to the interface. Then I did a force compile of the whole workspace. It
    still doesn't solve the problem. There must be some combination of things
    that were different in the other circumstances, but I don't seem to be able
    to find it. It's definately not an error in the code. There something wrong
    in Forte internally, but I don't know which combination of factors causes
    it.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Moris_Mihaildis/AUST/CSCcsc.com
    [mailto:Moris_Mihaildis/AUST/CSCcsc.com]
    Sent: Tuesday, April 03, 2001 5:00 AM
    To: Rottier, Pascal
    Cc: forte-userslists.xpedior.com
    Subject: Re: (forte-users) Events in Interface
    FYI. We are using Forte 3.0.J.4 and NT4.0 SP6, and have had no problems
    implementing your pattern.
    There should be no need for a fix (cast). There is something wrong with
    your interface.
    Regards,
    Moris Mihailidis
    Consulting
    CSC
    Level 4, 570 St. Kilda Road, Melbourne VIC 3004
    Ph: 61-3-95364675 Fax: 61-3-95364633 Email: mmihailicsc.com.au
    "Rottier, Pascal" <Rottier.Pascalpmintl.ch> on 04/02/2001 09:52:46 PM
    To: "'Forte Users'" <forte-userslists.xpedior.com>
    cc:
    Subject: (forte-users) Events in Interface
    We have the following scenario:
    There is a Service Object that acts as a Facade (Facade pattern) for 3
    manager classes that implement some business functions. Each of these three
    managers are stored as private attributes on this Service Object.
    For the sake of flexibility, these three private attributes are defined by
    their Interface, not their class. When the Service Object opens an Event
    Loop and registers for the events of one of these interfaces, the whole
    partition crashes. Even when using the running man in the development
    workshop, the whole partition crashes. The only way to fix that is to cast
    the Interface to a class that implements the interface before registering
    for the event.
    I know it's possible to register for events using an Interface that
    contains
    these events, rather then a class that implements the events. Of course, at
    runtime you do need a real instance of a class that implements the
    interface, otherwise you get a NIL-exception.
    Does anyone have any experience registering for events from Interfaces? Are
    there unexpected circumstances where it should work semantically, but still
    causes Forte to crash. We're using Forte 3.j.1 on NT 4.0 SP 6.
    Any help is appreciated.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    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

    I know, I've implemented similar structures in other locations as well,
    always without problems. I've even recreated the whole interface, building
    it completely from dragging and dropping methods and events from the class
    to the interface. Then I did a force compile of the whole workspace. It
    still doesn't solve the problem. There must be some combination of things
    that were different in the other circumstances, but I don't seem to be able
    to find it. It's definately not an error in the code. There something wrong
    in Forte internally, but I don't know which combination of factors causes
    it.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Moris_Mihaildis/AUST/CSCcsc.com
    [mailto:Moris_Mihaildis/AUST/CSCcsc.com]
    Sent: Tuesday, April 03, 2001 5:00 AM
    To: Rottier, Pascal
    Cc: forte-userslists.xpedior.com
    Subject: Re: (forte-users) Events in Interface
    FYI. We are using Forte 3.0.J.4 and NT4.0 SP6, and have had no problems
    implementing your pattern.
    There should be no need for a fix (cast). There is something wrong with
    your interface.
    Regards,
    Moris Mihailidis
    Consulting
    CSC
    Level 4, 570 St. Kilda Road, Melbourne VIC 3004
    Ph: 61-3-95364675 Fax: 61-3-95364633 Email: mmihailicsc.com.au
    "Rottier, Pascal" <Rottier.Pascalpmintl.ch> on 04/02/2001 09:52:46 PM
    To: "'Forte Users'" <forte-userslists.xpedior.com>
    cc:
    Subject: (forte-users) Events in Interface
    We have the following scenario:
    There is a Service Object that acts as a Facade (Facade pattern) for 3
    manager classes that implement some business functions. Each of these three
    managers are stored as private attributes on this Service Object.
    For the sake of flexibility, these three private attributes are defined by
    their Interface, not their class. When the Service Object opens an Event
    Loop and registers for the events of one of these interfaces, the whole
    partition crashes. Even when using the running man in the development
    workshop, the whole partition crashes. The only way to fix that is to cast
    the Interface to a class that implements the interface before registering
    for the event.
    I know it's possible to register for events using an Interface that
    contains
    these events, rather then a class that implements the events. Of course, at
    runtime you do need a real instance of a class that implements the
    interface, otherwise you get a NIL-exception.
    Does anyone have any experience registering for events from Interfaces? Are
    there unexpected circumstances where it should work semantically, but still
    causes Forte to crash. We're using Forte 3.j.1 on NT 4.0 SP 6.
    Any help is appreciated.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    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) Accelerator keys under MS Windows95/98/NT

    This message is in MIME format. Since your mail reader does not understand
    this format, some or all of this message may not be legible.
    ------_=_NextPart_001_01BEF001.9C8C0B50
    Content-Type: text/plain
    Unfortunately, ALT key is not recognized as a validkey modifier on Windows
    That isn't entirely true. The ALT key is recognized. I've used it
    successfully
    under Windows 95 and NT. The only annoying side-effect is that you get the
    standard operating system beep when you perform the keypress.
    -----Original Message-----
    From: "Ajith Kallambella" [SMTP:[email protected]]
    Sent: Thursday, August 26, 1999 1:43 PM
    To: "[email protected]" [SMTP:[email protected]];
    "[email protected]" [SMTP:[email protected]]
    Subject: Re: (forte-users) Accelerator keys under MS Windows 95/98/NT
    The Window class has a method named SetAsFunctionKey
    and an event named FunctionKeyPress. When used
    in combination, the former can be used to configure
    various accelerator keys for the window widgets
    and the latter can be used to trap them.
    For more details, take a look at Forte online help.
    Unfortunately, ALT key is not recognized as a valid
    key modifier on Windows, but is only available on
    Unix and VMS - for reasons beyond my comprehension :(
    Hope this helps
    Ajith Kallambella M.
    Forte Systems Consultant.
    From: "Burns, Troy" <[email protected]>
    To: "'[email protected]'" <[email protected]>
    Subject: (forte-users) Accelerator keys under MS Windows 95/98/NT
    Date: Thu, 26 Aug 1999 13:56:07 -0400
    Let's say I have a pushbutton on a window and I've given it
    label text of "&Search". In past developer-lives, the ampersand
    is what gives the button the ability to respond to ALT-S. This
    doesn't appear to be the case in Forte. What do I need to do
    to make this work?
    Thanks in advance,
    Troy Burns
    E-mail: [email protected]
    Marriott Vacation Club International
    941-688-7700 ext. 4408
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    ------_=_NextPart_001_01BEF001.9C8C0B50
    Content-Type: text/html
    Content-Transfer-Encoding: quoted-printable
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
    <HTML>
    <HEAD>
    <DEFANGED-META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
    charset=3Dus-ascii">
    <DEFANGED-META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
    5.5.2448.0">
    <DEFANGED-TITLE>RE: (forte-users) Accelerator keys under MS Windows =
    95/98/NT</TITLE>
    </HEAD>
    <BODY>
    <P><FONT SIZE=3D2>&gt; Unfortunately, ALT key is not recognized as a =
    valid</FONT>
    <BR><FONT SIZE=3D2>key modifier on Windows</FONT>
    </P>
    <P><FONT SIZE=3D2>That isn't entirely true. The ALT key is recognized. =
    I've used it successfully</FONT>
    <BR><FONT SIZE=3D2>under Windows 95 and NT. The only annoying =
    side-effect is that you get the</FONT>
    <BR><FONT SIZE=3D2>standard operating system beep when you perform the =
    keypress.</FONT>
    </P>
    <P><FONT SIZE=3D2>-----Original Message-----</FONT>
    <BR><FONT SIZE=3D2>From: &quot;Ajith Kallambella&quot; =
    [SMTP:[email protected]] </FONT>
    <BR><FONT SIZE=3D2>Sent: Thursday, August 26, 1999 1:43 PM</FONT>
    <BR><FONT SIZE=3D2>To: &quot;[email protected]&quot; =
    [SMTP:[email protected]];</FONT>
    <BR><FONT SIZE=3D2>&quot;[email protected]&quot; =
    [SMTP:[email protected]]</FONT>
    <BR><FONT SIZE=3D2>Subject: Re: (forte-users) Accelerator keys under MS =
    Windows 95/98/NT</FONT>
    </P>
    <BR>
    <P><FONT SIZE=3D2>The Window class has a method named =
    SetAsFunctionKey</FONT>
    <BR><FONT SIZE=3D2>and an event named FunctionKeyPress. When =
    used</FONT>
    <BR><FONT SIZE=3D2>in combination, the former can be used to =
    configure</FONT>
    <BR><FONT SIZE=3D2>various accelerator keys for the window =
    widgets</FONT>
    <BR><FONT SIZE=3D2>and the latter can be used to trap them.</FONT>
    </P>
    <P><FONT SIZE=3D2>For more details, take a look at Forte online =
    help.</FONT>
    </P>
    <P><FONT SIZE=3D2>Unfortunately, ALT key is not recognized as a =
    valid</FONT>
    <BR><FONT SIZE=3D2>key modifier on Windows, but is only available =
    on</FONT>
    <BR><FONT SIZE=3D2>Unix and VMS - for reasons beyond my comprehension =
    :(</FONT>
    </P>
    <P><FONT SIZE=3D2>Hope this helps</FONT>
    </P>
    <P><FONT SIZE=3D2>Ajith Kallambella M.</FONT>
    <BR><FONT SIZE=3D2>Forte Systems Consultant.</FONT>
    </P>
    <BR>
    <P><FONT SIZE=3D2>&gt;From: &quot;Burns, Troy&quot; =
    &lt;[email protected]&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;To: &quot;'[email protected]'&quot; =
    &lt;[email protected]&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;Subject: (forte-users) Accelerator keys under MS =
    Windows 95/98/NT</FONT>
    <BR><FONT SIZE=3D2>&gt;Date: Thu, 26 Aug 1999 13:56:07 -0400</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;Let's say I have a pushbutton on a window and =
    I've given it</FONT>
    <BR><FONT SIZE=3D2>&gt;label text of &quot;&amp;Search&quot;.  In =
    past developer-lives, the ampersand</FONT>
    <BR><FONT SIZE=3D2>&gt;is what gives the button the ability to respond =
    to ALT-S.  This</FONT>
    <BR><FONT SIZE=3D2>&gt;doesn't appear to be the case in Forte.  =
    What do I need to do</FONT>
    <BR><FONT SIZE=3D2>&gt;to make this work?</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;Thanks in advance,</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    <BR><FONT =
    SIZE=3D2>&gt;---------------------------------------------</FONT>
    <BR><FONT SIZE=3D2>&gt;Troy Burns</FONT>
    <BR><FONT SIZE=3D2>&gt;E-mail: [email protected]</FONT>
    <BR><FONT SIZE=3D2>&gt;Marriott Vacation Club International</FONT>
    <BR><FONT SIZE=3D2>&gt;941-688-7700 ext. 4408</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;--</FONT>
    <BR><FONT SIZE=3D2>&gt;For the archives, go to: <A =
    HREF=3D"<a href=
    "http://lists.sageit.com/forte-users">http://lists.sageit.com/forte-users</a>" =
    TARGET=3D"_blank">http://lists.sageit.com/forte-users</A> and =
    use</FONT>
    <BR><FONT SIZE=3D2>&gt;the login: forte and the password: archive. To =
    unsubscribe, send in a new</FONT>
    <BR><FONT SIZE=3D2>&gt;email the word: 'Unsubscribe' to: =
    [email protected]</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    </P>
    <BR>
    <P><FONT =
    SIZE=3D2>_______________________________________________________________=
    </FONT>
    <BR><FONT SIZE=3D2>Get Free Email and Do More On The Web. Visit <A =
    HREF=3D"<a href="http://www.msn.com">http://www.msn.com</a>" =
    TARGET=3D"_blank">http://www.msn.com</A></FONT>
    </P>
    <P><FONT SIZE=3D2>--</FONT>
    <BR><FONT SIZE=3D2>For the archives, go to: <A =
    HREF=3D"<a href=
    "http://lists.sageit.com/forte-users">http://lists.sageit.com/forte-users</a>" =
    TARGET=3D"_blank">http://lists.sageit.com/forte-users</A> and =
    use</FONT>
    <BR><FONT SIZE=3D2>the login: forte and the password: archive. To =
    unsubscribe, send in a new</FONT>
    <BR><FONT SIZE=3D2>email the word: 'Unsubscribe' to: =
    [email protected]</FONT>
    </P>
    </BODY>
    </HTML>
    ------_=_NextPart_001_01BEF001.9C8C0B50--

    Hi,Beau Leo, I am having problem installing Oracle9i Database Rel.2 on my pc.
    I read the suggestion and solution you posted for fixing Oracle 8.1.x installation
    probblem, and since my pc also hung at 48% while installing Oracle 9i software,
    I wonder if the same problem in the Oracle8 Vs.Pentium4 also exists for Oracle9i.
    I have Windows2000,256RAM, Pentium3 1Ghz, and 13.8 free diskspace. But the installation always
    hangs at 48%, my computer will just shut down and restart automatically without
    even showing an error message. I have tried installing the Enterprise edition for 3
    times already but everytime encountered the same problem. I've also tried custom installation
    by selecting not to create database, but it also hung.
    Before I started each installation, I always made sure that my registry and environment
    path are cleared and that all the partially-installed Oracle files are deleted.
    I hope that you or anyone who has a solution for this problem could be so kindly to help me out.
    Thank you in advance.
    ailee

Maybe you are looking for

  • Anyone using Drupal 7 with Oracle 11g?

    I am currently with a group that fields PHP applications on top of Oracle 11g databases. We currently use OCI8 in a RHEL6/Apache environment for our homegrown PHP apps and sites. We are looking at using Drupal 7 to help stream-line our development pr

  • Can I use Windows for Mac in iCloud?

    Hello, I would like to use Windows for Mac or any similar program, but I don't want to store it on my hard drive. Can I use it in iCloud, or any other Cloud environment? Would you recommend a good Windows for Mac type of program? Thank you!

  • Intranet Clients try to access SUP Point Over http instead of https

    Hi My internet clients on DMZ Network trying to access my SUP Server over http instead of https. So the clients are not downloading any updates, here is my ContentTransferManager log on a DMZ Client Persisted locations for CTM job {31F9D2B4-1289-4EB3

  • Error code 1 was returned by the audio driver :(  randomly!

    hey all! ive been getting this messege "error code 1 was returned by the audio driver" almost every time i try and merge tracks, bounce track in place, bounce region in place, or mixdown stereo regions per tracks. NOT when i do a real song bounce tho

  • Two "all systems" collections after migration

    After the migration from 2007 to 2012, we have two collections labelled "all systems".  One has 1531 clients, the other has 1533.  The one with 1531 has an identifier with the site name in it, the one with the two extra devices starts with an "sms" l