Subject: RE :(forte-users) Web enterprise & user visibleservice Objects
A few months ago we faced a similar problem while migrating from classic
Forte to Web. We had to protect our investment in various frameworks that we
wrote for the classic Forte apps, which made use of extensive
user-level-caching among other things.
We solved the problem using a custom routing mechanism. In brief, we created
several( replicated) server partitions that contains all the user-level
Service objects that existed in the class-Forte apps. Then we wrote a
'custom-router' which mimics Forte load-balanced router( dialog duration =
session ) to intelligently route incoming HTTPRequests to one of these
replicated partitions. The router would look at the some tag on the session
and then route the request to one of these replicated "client clone" using
the tag. Successive requests from the same client will go to the same
replicated partition so that you can use the client-cache or any other
per-user services.
The advantages of this approach are
1) You can continue to make use of caching and other user-level components
that you may have.
2) The web and classic Forte clients can work seamlessly if you write them
to use reference partitions that hosts the other shared( Environment visible
) service objects.
Ofcourse you will have to write ( and maintain )the custom-routing code and
also pay attention to house-keeping. For example, the burdon of cleaning up
the cache on logout or session expiration lies on you. If you don't do this,
then your new user might be looking at an old cache of some other user.
Hope this helps,
Ajith
Forte Systems Consultant.
Subject: (forte-users) Web enterprise & user visible service objects
Hi
We have taken a forte application and converted it to run on the web using
* forte web enterprise &
* fortecgi.exe
In the forte application we have a user visible Local Cache Manager
Service Object (i.e. each users has their own copy) for storing things
like
* the details of the current user id
* the details of the current client chosen
* arrays that are needed by other windows
With web enterprise this service object is no longer user visible, how can
we make it user visible?
Thanks in advance.
Deborah Wallis
dwallisnbs.co.za
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
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
A few months ago we faced a similar problem while migrating from classic
Forte to Web. We had to protect our investment in various frameworks that we
wrote for the classic Forte apps, which made use of extensive
user-level-caching among other things.
We solved the problem using a custom routing mechanism. In brief, we created
several( replicated) server partitions that contains all the user-level
Service objects that existed in the class-Forte apps. Then we wrote a
'custom-router' which mimics Forte load-balanced router( dialog duration =
session ) to intelligently route incoming HTTPRequests to one of these
replicated partitions. The router would look at the some tag on the session
and then route the request to one of these replicated "client clone" using
the tag. Successive requests from the same client will go to the same
replicated partition so that you can use the client-cache or any other
per-user services.
The advantages of this approach are
1) You can continue to make use of caching and other user-level components
that you may have.
2) The web and classic Forte clients can work seamlessly if you write them
to use reference partitions that hosts the other shared( Environment visible
) service objects.
Ofcourse you will have to write ( and maintain )the custom-routing code and
also pay attention to house-keeping. For example, the burdon of cleaning up
the cache on logout or session expiration lies on you. If you don't do this,
then your new user might be looking at an old cache of some other user.
Hope this helps,
Ajith
Forte Systems Consultant.
Subject: (forte-users) Web enterprise & user visible service objects
Hi
We have taken a forte application and converted it to run on the web using
* forte web enterprise &
* fortecgi.exe
In the forte application we have a user visible Local Cache Manager
Service Object (i.e. each users has their own copy) for storing things
like
* the details of the current user id
* the details of the current client chosen
* arrays that are needed by other windows
With web enterprise this service object is no longer user visible, how can
we make it user visible?
Thanks in advance.
Deborah Wallis
dwallisnbs.co.za
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
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) Service Object
what about subclassing it and putting the agent stuff in there
Matthew Middleton Ph: +61 2 9239 4972
Oryx Software Consultant Fax: +61 2 9239 4900
Lawpoint Pty. Ltd. E-mail matthewmwriteme.com
----- Original Message -----
From: Ramarao Pabbaraju <RPabbarajulmimsno.com>
To: <kamranaminyahoo.com>
Sent: Tuesday, February 29, 2000 9:02 AM
Subject: (forte-users) Service Object
Hi,
We have a class X which we would like to use it for service object andalso
to instantiate it locally to call some methods. We would like to have
system agents for the service object, but not for objects instantiated
locally. In other words, if the object is used for service object, only
then we want the agents (customized) to be initialized. How do we find out
whether it is service object in Init method self? Service objectproperties
(like isAnchored) or attributes (given from ServiceObject
properties/initial values window) are set only at the end of init method.
One workaround we could think of is start a task at the end of init method
and also delay the execution of method. Is there any clean way of doing
this?
Thanks in advance,
Ramarao
IonIdea
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) Forte ADE
In addition to this confusion, I'd like to see some statement by Forte to
indicate
WHEN the next Forte R4 is scheduled (before the Sun era is was said to be
Summer 2000) and
WHAT exactly it will contain (major headings will do).
With the cancellation of the Forte Forum event doubt and uncertainty are
spreading in the
Forte communities that I talk with and no one seems to counterbalance these
doubts with an
official statement. How serious does Sun take TOOL Forte for the coming few
years? Release
of Fusion V2 seems to say "serious". The deafning silence with regard to R4
indicates the
opposite. And the users are divided (as always).
Theo de Klerk
Architecture & Application Integration
Professional Services
Compaq Computer Corp. - the Netherlands
-----Original Message-----
From: Rottier, Pascal [mailto:Rottier.Pascalpmintl.ch]
Sent: Tuesday, 18 April, 2000 17:49
To: 'kamranaminyahoo.com'
Subject: (forte-users) Forte ADE
A long, long time ago
In a galaxy far away....
I saw a demonstration of Forte's new Application Development
Environment,
which was more userfriendly than the current one. It also looked more
similar to the interface of the other development tools out
there, with a
tree structure and capabilities to browse through the
inheritance tree, and
not opening a new window for every project, class and method that is
accessed.
This new interface was supposed to be included in Forte 4, which would
combine TOOL and Java and would be released soon.
Since then, we've seen SynerJ and now FJEE, but Forte 4 is still not
released. And when it will be released, it still won't
support TOOL and Java
simultaneously. That's OK. I understand that.
But now I've heard that this improved ADE won't even be
included in Forte 4.
Is this true? And if so, why?
Pascal
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.comYou may be interested in the following which comes from a statement of direction
recently issued by Sun.
Product Context
+ Forté 4GL is an award-winning, proven product with many unique advantages for
building
enterprise business systems that are distributed, that involve the integration
of existing
business systems as well as new functionality, and that target heterogeneous
runtime
environments.
+ Forté 4GL is recognized by Gartner Group as the most successful Enterprise
Application
Development Tool.
+ Forte 4GL has a substantial customer base that has been successful with the
product and that
looks forward to using Forté 4GL for new applications.
+ The Sun Microsystems, Inc. (SMI) development tools group (formerly Forté
Software, Inc.)
has a strong internal commitment to Forté 4GL. Forté Fusion is written with, and
is currently
being enhanced with Forté 4GL.
+ SMI has retained the Forté field sales organization as an independent unit
whose primary
product offerings are Forté 4GL and Forté Fusion. Continued volume sales of
Forté 4GL
remain the foundation of our business plan.
Product Future
+ We intend to actively enhance and promote Forté 4GL for the indefinite
future.
+ We believe Forté 4GL will flourish in the long term, especially if we are
able to harness the
considerable selling power of the entire SMI field sales organization. To make
the product
more attractive and easier to sell, we will continue to make the product more
modular and
easier to integrate with heterogeneous software environments.
+ We believe that the best opportunity for attracting new customers is to
leverage the ability of
Forté 4GL to easily build powerful shared business services (server components)
that can be
accessed by non-Forté clients (e.g., browsers, Java clients) and that can easily
integrate with
new and existing business systems.
+ We believe that Forté 4GL?s continued success is enhanced by continuing to
issue small and
frequent product releases. Our target is two such releases per year.
+ There is a great potential for our three product lines (Forté 4GL, Forté
Fusion, and Forté for
Java) to complement and reinforce each other. Interoperability among the three
product lines
is seen as a critical success factor for Forté 4GL.
Forte 4GL Statement of Direction Page 2
Sun Microsystems, Inc Proprietary and Confidential
Product Priorities
1. Interoperability with third party software components
+ External (non-4GL) client support (e.g., browsers, Java clients)
+ External server integration (e.g., messaging, component support, data
exchange)
2. Enhanced productivity
+ Increased automation (i.e., less coding)
+ Support for platform updates (e.g., new versions of OS, DBMS)
3. TOOL code to Java code migration
4. Unified developer look and feel with other Forte development products
5. Common repository
Short Term Product Plans
Mid-year release
+ New features available as ?preview? per the standard Forte maintenance
release procedures
+ Tentatively labeled ?release 3.5? and distributed as a free product
enhancement for
customers under maintenance
+ Scheduled for Summer 2000
+ Defining features
+ Introspection (reflection) ? the ability for an object to describe itself at
runtime
+ Improved integration with applications developed using Forté-for-Java
Community
Edition
+ Platform support improvements to track important operating system and
database
vendor activity
+ Target features
+ Display system enhancements (e.g., Motif 2 support, line arrowheads, window
refresh control, editable outline fields)
+ Dynamic library loading
+ Improved CORBA/IIOP support
+ Improved XML and XSLT class support
+ JMQ support
New year release
+ New features available as ?preview? per the standard Forte maintenance
release procedures
+ Tentatively labeled ?release 3.6? and distributed as a free product
enhancement for
customers under maintenance
+ Scheduled for year end 2000
+ Defining features
+ Any Release 3.5 target features that were not included in 3.5
+ Generation of EJB interfaces for R3 service objects
+ Platform support improvements to track important operating system and
database
vendor activity
+ Target features
+ COBOL record handling as part of the OS390 transaction adaptor
+ Improved runtime security
+ Interface classes for access to Netscape Server 4.0 and possibly other web
servers
Long Term Product Plans
+ To be determined by customer and market feedback.
+ A major criterion for new functionality will be enhancing the revenue
generating ability of
the product, thereby fostering its long-term health in the marketplace.
+ Substantial emphasis will be placed on creating new capabilities that enhance
the
attractiveness of the product for new users.
+ The contents of Release 3.7 (or whatever it will be called) will be
solidified just after release
3.5 ships. Subsequent planning visibility will be two forward releases.
"Klerk, Theo de" <Theo.de.Klerkcompaq.com> on 04/18/2000 12:27:36 PM
To: "'Rottier, Pascal'" <Rottier.Pascalpmintl.ch>,
"'kamranaminyahoo.com'" <kamranaminyahoo.com>
cc: (bcc: Charlie Shell/Bsg/MetLife/US)
Subject: RE: (forte-users) Forte ADE -
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>> 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: "Ajith Kallambella" =
[SMTP:[email protected]] </FONT>
<BR><FONT SIZE=3D2>Sent: Thursday, August 26, 1999 1:43 PM</FONT>
<BR><FONT SIZE=3D2>To: "[email protected]" =
[SMTP:[email protected]];</FONT>
<BR><FONT SIZE=3D2>"[email protected]" =
[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>>From: "Burns, Troy" =
<[email protected]></FONT>
<BR><FONT SIZE=3D2>>To: "'[email protected]'" =
<[email protected]></FONT>
<BR><FONT SIZE=3D2>>Subject: (forte-users) Accelerator keys under MS =
Windows 95/98/NT</FONT>
<BR><FONT SIZE=3D2>>Date: Thu, 26 Aug 1999 13:56:07 -0400</FONT>
<BR><FONT SIZE=3D2>></FONT>
<BR><FONT SIZE=3D2>>Let's say I have a pushbutton on a window and =
I've given it</FONT>
<BR><FONT SIZE=3D2>>label text of "&Search". In =
past developer-lives, the ampersand</FONT>
<BR><FONT SIZE=3D2>>is what gives the button the ability to respond =
to ALT-S. This</FONT>
<BR><FONT SIZE=3D2>>doesn't appear to be the case in Forte. =
What do I need to do</FONT>
<BR><FONT SIZE=3D2>>to make this work?</FONT>
<BR><FONT SIZE=3D2>></FONT>
<BR><FONT SIZE=3D2>>Thanks in advance,</FONT>
<BR><FONT SIZE=3D2>></FONT>
<BR><FONT =
SIZE=3D2>>---------------------------------------------</FONT>
<BR><FONT SIZE=3D2>>Troy Burns</FONT>
<BR><FONT SIZE=3D2>>E-mail: [email protected]</FONT>
<BR><FONT SIZE=3D2>>Marriott Vacation Club International</FONT>
<BR><FONT SIZE=3D2>>941-688-7700 ext. 4408</FONT>
<BR><FONT SIZE=3D2>></FONT>
<BR><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>
<BR><FONT SIZE=3D2>></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 -
RE: (forte-users) RE: Forte' vs J2EE
Hi Alexandra,
1) Forte 4GL and FJEE (Forte for Jave Enterprise Edition) are tools.
2) TOOL and Java are languages.
3) TOOL is proprietary and Java is public.
4) J2EE is a proposed, Java-based achitecture. Not a tool, not a language,
not a standard.
5) J2EE looks a lot like the architecture already supported by Forte 4GL,
however J2EE is explicetaly based on Java, EJB, JSP, JDBC and Servlets.
There are 3 versions of Forte for Java. The "Consumer Edition (CE)", the
"Internet Edition (IE)" and the "Enterprise Edition (EE)". CE is really a
remake of "NetBeans" and can be downloaded for free. IE and EE do not exist
yet. However, EE should be a remake of SynerJ, Forte's first Java tool.
You quoted someone who was very negative about Forte. I don't think that's
deserved. He's probably someone who simply didn't manage to understand the
tool. However, he is right in complaining about the support of Forte 4GL.
And it's true that the version people are currently using is at least more
than 2 years old and outdated. Since this period, there have been some
bugfixes, but hardly any real improvements.
From the description of your application, I would really advise to use Forte4GL. However, the lack of improvements, new releases, press releases, etc.
has me worried about the future of that product.
One of the real disadvantages of Java is performance. Java is very slow and
requires very heavy hardware to perform acceptably. Swing is a GUI framework
based on Java, which is notoriously slow even by Java standards. FJCE
development GUI is based on Swing. Download this product, install it and run
it and you'll see what I mean.
Forte applications can run in 2 modes. Interpreted or compiled. If they're
compiled, they're turned into platform dependent executables, which perform
really well. If they're interpreted, they're running inside a Forte Virtual
Machine, which performs less well, but still very acceptable. Java
applications run only in Java Virtual Machines and perform far less.
I would use Forte server side and Forte client side. For the browsers, I
would simply use any available tool to build webpages and use CGI to
interface with Forte. I would not try to use a different client side tool
that should communicate to a Forte server side.
Express is a good tool for developing CRUD (Create Read Update Delete)
applications based on an existing, and relatively static, database model. I
don't know about Rapport. However, don't be fooled into believing that
Express makes it easier for unexperienced developers to build Forte
applications. If anything, it makes it harder. A common look and feel can
easily be achieved by agreeing on the look and feel of windows during the
design-phase, and have all developers conform to this standard. It really
isn't that hard. Just don't create very large window class trees. That
causes strange behaviour.
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: Alexandra Macedo [mailto:ammeasysoft.pt]
Sent: Tuesday, December 05, 2000 3:55 PM
To: forte-users
Subject: (forte-users) RE: Forte' vs J2EE
Alexandra I presume.
Excuse me for asking but isn't J2EE just a STANDARD? And Forte aprogramming
language that may or may not adhere to that standard?
Now to the question, if the C++ experience is good - what's wrong withusing
C++?
Do you need to build component based distributed systems? Then hire saytwo
experienced architects - to design a practical model (UML perhaps).
Are there already good systems around you could tailor for your needs?
Just a few questions that need to be addressed to make an informeddecision.
What business are you in (your team/company)? If it's not IT then ask
yourself why do it inhouse?
Regards,
Dirk
PS: What country and from where is the Forte support? You mean peoplecode
in a language other than English?----------------------------------------------------------------------
Well, Forté is certainly not a programming language, TOOL is the
language for the Forté 4GL environment.
J2EE is a standard, and there are already some Application servers
that
implement it (as I was told, webSphere, Iplanet and weblogic,
sorry if I am missing someone).
I really do not know the standard, and I am not sure it says it will
have to be implemented in Java, but all these 3 application servers
do it in Java...
The C++ experience is only from part of the team, and is not from
Database applications, the type of application we are doing is not
well suited to do in C++, we all agree, C++ is out of the question.
I have received many answers (not posted in this mailling list
unfortunatly) telling me that Java is best, others told me Forté is
good Java is just a promise, but they really did not know Java
very well, someone even said:
Forte 4GL sucks terribly. It is not supported well by what
is left of 'Forte the company'.
The tools for this proprietary environment suck.
No distributed debugging or profiling!
There is really no adequate profiling support at all
Avoid Forte like the plague that it is.
Any way, a Forté person told us that Forté is good, precisely, for
our kind of application, and as some people made more questions about
it, I am explaining better our application:
- We are doing this application because we are an IT company, our
job is to make and sell back-office applications for the finance
sector (accounting, third-party, bank management, credit
management), now we want to make one application with all of these.
In simple terms we can define it as an ERP for Credit Operations.
- The users will be in-house except for a small set of
functionalitty, which will be available through browsers.
The front-end should run in an ordinary PC running WINDOWS (we
were told that Java is too heavy and PC's should have at least 256Mb
RAM, which, I believe, is to much for all our clients)
If this is true, it puts Java clients (with Swing) or Java applets out,
HTML, we believe is not powerfull enough for all the interface.
The server, will have to work well with about 300 simultaneous
internal users, plus some Web ones (do not know how many)
The application must be multi-lingual, that is, it should be easy to
put it in any language.
The application is based on a big database, with more than 500
tables, some with about 100 columns, some with millions of records.
- We want to be sure that the application will have the same layout
(look and feel) in every screen, so it will be nice something to
generate code or to create similar functionality (table screens,
for instance) in an automatic way ( that is why we are considering
Express for it). Of course this will help also the maintenance of
the sources.
Our questions are:
FORTÉ or JAVA for the server-side.
Which tool for the client-side?
Which framework to use?
-Express or Rapport from albion if using Forté?
-Are there any good frameworks for Java ?
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.comGabriel,
I disagree with you on one very important point. You say it's nearly
impossible to predict anything about the future in ICT-world, so it's better
to not predict at all and only look at the here and now. Here and now, Forte
is better than Java. So, the best choice would be Forte.
But you also mention that Forte is best suited for big projects. Big
applications usually have a long lifetime. Many of the current Forte
applications are the legacy systems of tomorrow. While all the VB, Access,
ASP and Java crap that's being produced will be replaced within 6 to 18
months, Forte applications will live for years.
Migrating such large applications to a new environment, even if this
environment is using a similar technology, requires very high investments.
Companies will want to avoid this as much as possible. So, they'll want to
invest in technology that can evolve with the rest of the world. As
operatingsystems change, databases change, middleware architectures become
obsolete (DCE) and new ones are created (EJB), end user interfaces evolve
(from text to GUI to Web), requirements change (data-oriented,
process-oriented, eCommerce), etc.
Of course, flexibility is not only achieved through technology. A good
design is probably more important.
Managers, not developers, will have to make the strategic decisions about
where to spend their millions. So, they have to look at the future, no
matter how hard that is. At the moment, Forte is still superior, even though
it hasn't been truly improved for over 2 years and that's pretty impressive.
Java is still very "hyped" and no one knows what's going to happen to it.
But the future of Java looks much brighter than the future of Forte. If
Forte doesn't put some serious effort in product development and marketing,
like now, the future of this product suite looks very bleak indeed. And I
wouldn't want to spend my millions knowing I have to do it all over again 2
years from now.
Keeping an eye on the future, where the only certainty is change, I would
not focus on platform independance. I would focus on language independance.
CORBA seemed like a very good idea 2 years ago, but it turned out to be too
complex, technical and inflexible. I would definately go for a CBD
architecture, using XML as backbone. XML can be exchanged between components
using HTTP, CORBA, DCOM, FTP, file copy, DCE, C/C++ call in/out, RMI, IIOP,
E-mail, MQSeries, etc. etc. Or any mixture of these systems.
The role of the data architect will become much more important than the role
of the application architect. The choice for a language or tool is reduced
to "the best choice here and now" as long as you design your large
application as loosly coupled components. It's OK if all of these components
are Forte and they're all communicating using Forte native RMI's. As long as
the design is sound, it's not going to be very difficult to exchange
individual components by others, built in Java, VB, Perl, Cobol++, Fortran
for Windows, or what other monsters the future might bring. The only thing
that binds them, is the datamodel (NB: datamodel is not the same as
databasemodel)
I do worry about the trend to use very large, omni-present, closed,
non-component architectures, like the current ERP applications. This locks
organisations into a single, expensive and hard to maintain technology.
However, it is an opportunity for us, OO - C/S - CBD developers, to build
bridges, adapters, wrappers and gateways to hook these systems into the rest
of the organisation.
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: Gabriel, C200/Fa. GFT, DA [mailto:A.Gabriel3deutschepost.de]
Sent: Wednesday, December 06, 2000 5:44 PM
To: 'forte-userslists.xpedior.com'
Subject: Re: (forte-users) RE: Forte' vs J2EE
If I were you, I would also consider this very important issue ( I think
it's the same for all 4GL users ), WILL THERE BE FORTE 4GL 5.0?I wonder every time I see that... Why is this that important?
(my mail is long.. if you don't like long mails, delete it now :) )
Let's see from the business' point of view:
If you would like to have an application implemented now,
use now, then you choose an environment existing now.
Now Forte 4GL seems to be a better alternative than Java,
because of the issues mentioned by others already.
I seem to be short-sighted, but could anybody tell me
with 100% accuracy, what will happen to Java in two years?
I doubt...
Forte did not changed too much in the last two years, and
still rocks, at least compared to other existing enterprise
level alternatives. So, nothing has changed that dramatically.
If you look behind the marketing-hype, you will probably agree.
I think, for the next two years Forte will be good enough for us too.
And what then? We will find out then, not now. Anybody, who tries to
explain you what will be in two years in the IT, almost certainly lies :)
Of course, using a "two years old technology" is not that cool from the
marketing point of view, but you use a solid technology, most likely
bug-free,
or at least having only known bugs. That is technically important!
If you ask about investment protection ... ?
Forte is very good in this subject too. If you look at it, you will see, it
is
sold as an integration solution (Fusion, Conductor, etc...)
If something is sold as an integration tool, it should be not that difficult
to
integrate :) Forte supports the most important standards, existing now.
If your future system supports it (it should), it will be easy to upgrade to
it,
using the existing product,know-how, etc... Probably without noticeable
downtime.
Scalability issues: Forte scales well from big to very-big to ultra-big.
What is big, you have to decide :)
For example, one million mails per day is not big. :)
For small businesses Forte isn't good. Java is. And a lot of other
environments
are, for example Perl, Python, etc...
My personal opinion is that our future will be heavily influenced by free
software.
They are very good already, and will be only better.
As Forte evolves, one important step would be to port it to free (and thus
independent)
OS's and DB's like Linux or FreeBSD and Postgres or Mysql. Even without
warranty!
I can't see what Sun's goal is with Forte, maybe they wouldn't
like this idea at all, since that may be the market segment what their Java
is thought for.
But that would be the perfect investment production as the company grows,
they don't have
to do anything to the software, just buy machines, and play around in
Environment Console :)
From the personal point of view:Although I don't work with Forte in the moment, I did this till last year,
and I will do
that in the next year too :)
If you would like to protect your "investment" and/or "market value" then
try to learn
platform and language independent things. I think, knowing Forte is 25%
platform dependent
knowledge (so useless anywhere else) and 75% platform independent. Using,
analysing, designing,
programming, and living OO is absolutely platform independent.
Project (and self-) management, presentation techniques, design and
documentation practices, version
and revision management, and so on, they are all platform independent.
Furthermore if you quit the Forte world, and have to program f.e. Java, you
will learn it in weeks.
JFC, Swing, et. al. are nothing, if you know OO. You just need a book or
an online manual, and you
can write programs in the first week. You will have much more problems with
the working environment,
and you will wonder, how the others can use that crap... after the smart
Forte IDE :)
Back to business a bit:
One big advantage of Forte, that came to my mind right now is that you can't
(ok, you can, but it is
difficult) to write bad OO programs (and designs). In Java, it is too
easy... believe me, I saw some examples ... :)
Sorry for the bad english and the long mail...
Best regards,
Akos Gabriel
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) RE: Forte 3 vs Java -- Productivity ( wasFutur e of F
Bravo. I completely agree. Right now Forte is helping me solve my business
requirements fast and that's all I care about. If Java will do that for me
tomorrow and I will use it. Otherwise I will keep using whatever
language(s)/tool(s) that helps me get the job done.
Ka
-----Original Message-----
From: Genesio, Fabrizio [mailto:fabrizio.genesiodatasign.ch]
Sent: Monday, February 14, 2000 5:22 AM
To: kamranaminyahoo.com
Subject: RE: (forte-users) RE: Forte 3 vs Java -- Productivity ( was
Futur e of Forte )
What an interesting debate....
May I just add some considerations?
- Successful Project capable to produce effective and maintainable
system. That's in my opinion should be our goal as professional IT
actors. Languages are just means to reach this goal. Therefore I would
like to see IT professional considering all the aspects of software
development, and not only the code and the languages.
- About distributed features in Java systems... Sure, you can do
in Java a lot of nice things, but, today, how much would it cost to
develop in Java real mission-critical distributed application?. I am
talking here about the IT "headaches" Forté has been capable to solve
during the past 5 years. Should I make examples? What about distributed
events, what about distributed transactions, what about fail-over, what
about load-balancing? Or, to move towards a more comprehensive view of
software development (and maintenance), what about partitioning (or, to
talk J2EE slang, assembly), what about deployment, what about monitoring
and run-time management? Is there, available today, an alternative to
Forté that cover so many aspects of enterprise-class systems? I
apologize, but I do not see one, or at least not yet. It not only a
matter of languages...Nevertheless, I believe tomorrow is another day,
Java will evolve as well as the environments for it (including Forté for
Java), and the all will be mature enough to really support distributed
application.
- This leads me to express a wish. I like the way one can turned
down the Singleton issue. However this is a perfect example of the
difference from Forté to Java. On one side you have an abstraction, that
hides complexity. On the other side you are (again) back at the
"plumbing" level. Now I do not know what you think about in my opinion
it is about time we move on from the "prehistorical age", making
abstraction, start to worry more about the business requirements (and
the users' needs). We should stop this sort of religious fight for the
best language (the term "crusade" came to my mind), and using our energy
to push for an easier integration, a effort-less plug-in between
components. There is no perfect solutions, all languages have positive
and negatives points. However all we really need is to learn to use each
technologies at the right time and place, and having all pieces
collaborating between each other. Pretty much like a house, where
several material are used, each of them useful but none of them capable
to replace all the others. Of course, it is clever to use sometimes only
wood, and some other times only concrete. However, most of the time you
need both, and you absolutely want them "collaborating" together to be
able to live in your house. Well, that's what "in primis" we have to ask
for to Forté, and to SUN, in particular: easy integration and
collaboration between TOOL and Java, a seamless cooperation between
partitions and EJBs.
I look forward to discuss all this at FORUM2000....
Fabrizio Genesio
Datasign AG für Informatik
ch. d'Eysins 53a
CH-1260 Nyon
Switzerland
Tel.: +41 22 361 04 04
Fax: +41 22 361 01 10
e-mail: fabrizio.genesiodatasign.ch
<mailto:fabrizio.genesiodatasign.ch>
URL: www.datasign.ch <http://www.datasign.ch>
-----Original Message-----
From: David Vydra [SMTP:dvydrajavamentor.com]
Sent: Thursday, 10 February 2000 04:57
To: Thomas Mercer-Hursh, Ph.D.
Cc: kamranaminyahoo.com
Subject: Re: (forte-users) RE: Forte 3 vs Java --
Productivity ( was Future of Forte )
At 03:06 PM 2/10/00 -0800, you wrote:
>At 06:28 AM 2/10/2000 , David Vydra wrote:
>How familiar are you with this product? Does it tell you
something that
>all of the FJEE tools are written in TOOL?
So what? IBM's VisualAge for Java is written in Smalltalk.
Look, if Forte management thought that they could fight the Java
invasion
they would tell their engineers to make TOOL much, much better.
Instead
they put most of the effort into SynerJ and sold the company to
Sun. Smart
move if you ask me.
>As for what is or is not a 4GL, I think that there are so many
>incomparabily different types of languages available these days
and in so
>many flavors, that any kind of division into generations is, at
the very
>best, extremely subjective. Certainly, TOOL isn't very much
like some of
>the classic procedural 4GLs, but personally I am very
comfortable calling
>it an OO4GL in comparison to the more common OO3GLs around,
like Java.
Agreed.
=========================================================================
>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
>
>
David Vydra
dvydrajavamentor.com
www.javamentor.com
(877) 270 - 9003
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.comAt 06:28 AM 2/10/2000 , David Vydra wrote:
Also, it is a little unfair to compare a product in its third production
release with a beta product. I agree that for certain projects Forte 3 is
the right choice today. The issue for me is: will Sun continue the support
of TOOL? How much of a 4GL is TOOL? Will TOOL become more 4GL in the
future or will it be phased out?How familiar are you with this product? Does it tell you something that
all of the FJEE tools are written in TOOL?
As for what is or is not a 4GL, I think that there are so many
incomparabily different types of languages available these days and in so
many flavors, that any kind of division into generations is, at the very
best, extremely subjective. Certainly, TOOL isn't very much like some of
the classic procedural 4GLs, but personally I am very comfortable calling
it an OO4GL in comparison to the more common OO3GLs around, like Java.
=========================================================================
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) Session management for page builder(fwd)
Jaco,
Hope this helps,
John
John Soper, Information Systems Development, ITS, The University of Melbourne
email: j.soperits.unimelb.edu.au >>>> Tel: 9344 5612---------- Forwarded message ----------
Date: Mon, 10 Jan 2000 16:34:31 +1100
From: Lyle Winton <L.Wintonits.unimelb.edu.au>
To: John Soper <j.soperits.unimelb.edu.au>
Subject: Re: (forte-users) Session management for page builder (fwd)
Why not construct an intermediate page after the
login page that has SESSION_UNSPECIFIED and
a refresh META tag. The page can then refresh
to either the login failed or login succeeded pages
depending on how the login went! Looks like...
1) Login page (SESSION_UNSPECIFIED)
2A) Refresh page (SESSION_UNSPECIFIED)
< HTML >
< HEAD >
< META http-equiv="refresh"
content="0;URL=<a href=
"http://www.blah.com/forte.cgi?PageName=3">http://www.blah.com/forte.cgi?PageName=3</a>" >
< /HEAD >
< BODY >
Login succeeded. Please wait...
< /BODY >
< /HTML >
2B) Refresh page (SESSION_UNSPECIFIED)
< HTML >
< BODY >
Login failed.
< /BODY >
< /HTML >
3) We're finally in. (SESSION_REQUIRED)
I'm not sure if this works on internet exploder.
Lyle.
John Soper wrote:
Lyle,
(Post from forte mailing group)
Does this make sense to you?
John
John Soper, Information Systems Development, ITS, The University of Melbourne
email: j.soperits.unimelb.edu.au >>>> Tel: 9344 5612---------- Forwarded message ----------
Date: Thu, 30 Dec 1999 07:54:24 +0200
From: "Jaco Erasmus (home)" <jacoerasmweb.co.za>
To: kamranaminyahoo.com
Subject: (forte-users) Session management for page builder
Hi everybody,
We have a lot of legacy code making use of the page builder service to
produce web pages. These pages were originally written without session
management. I'm now busy adding session management to them, but there is
one problem with this approach and I will appreciate if someone can shed
some light on it. Here it is:
Page one is submitted.
Some validation (authentication) takes place and depending on the outcome,
either page 2A (SESSION_REQUIRED) or 2B (error page with
SESSION_UNSPECIFIED) must be displayed. In order to implement this, I
needed a place to make a decision. The way I've done it, is to pass a
'virtual page' (SESSION_UNSPECIFIED) to the page builder service. The
validation is done here and request.PageName is then replaced with the
PageName of pages 2A or 2B. The HandleRequest() method is then called
again. The problem is that the ValidateSession() method does not get
invoked again, thus allowing 2A through without a session. How do I make
sure that the ValidateSession() method get invoked again?
The approach making use of templates look to me as if it has all the means
to do this (redirect tag), but I don't want to rewrite everything if I
don't have to. Is there a way that a pagebuilder page can be specified by
the redirect tag? This will definitely help, but so far I've only managed
to call templates from the redirect tag.
Is the template approach better suited for session management? It is
definetely better documented...
Regards.
Jaco
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.sageit.comHi,
i hope this helps
http://help.sap.com/saphelp_nw70/helpdata/EN/7e/aa610cc1dd8f4388b1df02fc362f0f/frameset.htm
http://help.sap.com/saphelp_nw70/helpdata/EN/69/c250754ba111d189750000e8322d00/frameset.htm
regards,
Anil. -
RE: (forte-users) SAX Parser
I would be interested to see TechNote 11811. I just tried the Forté support
web site and couldn't get it. Can anyone help?
Thanks,
Nick.
-----Original Message-----
From: Zee Khan [mailto:[email protected]]
Sent: Tuesday, August 24, 1999 10:08 AM
To: [email protected]
Cc: [email protected]
Subject: RE: (forte-users) SAX Parser
Forte recommends not using DOM for 'documents with large
number of tags'
(TechNote 11811) so I am using SAX.
Any thoughts/suggestions would be welcome,
thanks,
>From: "Jeanne Hesler" <[email protected]>
>To: "'Zee Khan'" <[email protected]>,
<[email protected]>
>Subject: RE: (forte-users) SAX Parser
>Date: Tue, 24 Aug 1999 08:48:23 -0500
>
>Out of curiosity, is it the node structure that you are
trying to avoid,
>or is it the DOM itself? Can you share some of your
reasons? It would
>seem to me that a node or tree structure would be ideally
suited for
>representing the complex structures that you describe.
>
>Jeanne
>=====================================================
>Jeanne Hesler <[email protected]>
>MSF&W Software
>Product Development
>(217) 698-3535 ext. 207
>http://www.msfw.com
>=====================================================
>/\ Imaging Developer - the only imaging product
>\/ integrated into the Forte Development Environment
>=====================================================
>
>
>-----Original Message-----
>From: Zee Khan [mailto:[email protected]]
>Sent: Monday, August 23, 1999 10:32 AM
>To: [email protected]
>Subject: (forte-users) SAX Parser
>
>
>I am using the SAX parser to parse some complex XML.
>
>My problem comes with complex data structures. There
>are several embedded structures, how are these best
>reflected with a SAX parser.
>
>(I guess one solution is to use DOM which returns
>a node structure, but I want to avoid this)
>
>thanks in advace,
>
>
>______________________________________________________
>Get Your Private, Free Email at http://www.hotmail.com
>
>--
>For the archives, go to:
http://lists.sageit.com/forte-users
>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]
>
Get Your Private, Free Email at http://www.hotmail.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:
[email protected]I would be interested to see TechNote 11811. I just tried the Forté support
web site and couldn't get it. Can anyone help?
Thanks,
Nick.
-----Original Message-----
From: Zee Khan [mailto:[email protected]]
Sent: Tuesday, August 24, 1999 10:08 AM
To: [email protected]
Cc: [email protected]
Subject: RE: (forte-users) SAX Parser
Forte recommends not using DOM for 'documents with large
number of tags'
(TechNote 11811) so I am using SAX.
Any thoughts/suggestions would be welcome,
thanks,
>From: "Jeanne Hesler" <[email protected]>
>To: "'Zee Khan'" <[email protected]>,
<[email protected]>
>Subject: RE: (forte-users) SAX Parser
>Date: Tue, 24 Aug 1999 08:48:23 -0500
>
>Out of curiosity, is it the node structure that you are
trying to avoid,
>or is it the DOM itself? Can you share some of your
reasons? It would
>seem to me that a node or tree structure would be ideally
suited for
>representing the complex structures that you describe.
>
>Jeanne
>=====================================================
>Jeanne Hesler <[email protected]>
>MSF&W Software
>Product Development
>(217) 698-3535 ext. 207
>http://www.msfw.com
>=====================================================
>/\ Imaging Developer - the only imaging product
>\/ integrated into the Forte Development Environment
>=====================================================
>
>
>-----Original Message-----
>From: Zee Khan [mailto:[email protected]]
>Sent: Monday, August 23, 1999 10:32 AM
>To: [email protected]
>Subject: (forte-users) SAX Parser
>
>
>I am using the SAX parser to parse some complex XML.
>
>My problem comes with complex data structures. There
>are several embedded structures, how are these best
>reflected with a SAX parser.
>
>(I guess one solution is to use DOM which returns
>a node structure, but I want to avoid this)
>
>thanks in advace,
>
>
>______________________________________________________
>Get Your Private, Free Email at http://www.hotmail.com
>
>--
>For the archives, go to:
http://lists.sageit.com/forte-users
>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]
>
Get Your Private, Free Email at http://www.hotmail.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:
[email protected] -
RE: (forte-users) Screen Scraping
I think they changed their name since Conextions at least 2 times. Try this
web site:
http://www.wrq.com/products/apptrieve/
noro
-----Original Message-----
From: Denver Jobs [mailto:fortejobsindenveryahoo.com]
Sent: Monday, November 13, 2000 8:31 AM
To: forte-userslists.xpedior.com
Subject: Re: (forte-users) Screen Scraping
Michael,
We use Conextions for screen scraping from the
mainframe - and I believe that it is supported by
Forte. I tried checking their website to see if they
offered it for Unix, but their site was down.?
Some others you may want to check with are Pixel
Science Technology or FileFrameVX. I also saw an
interesting article on Eclipse Host Integration
Server, but it appears they've shut down and
transferred their knowledge base to a company called
eNucleus.
--- Michael Strauss <mstraussmazda.com.au> wrote:
Has anyone performed any screen scraping either
directly from Forte
(sockets) or via C wrapping? I would be very
interested to hear some
feedback and pointers. I want to scrape from my
Unix server and provide the
scraped data to my GUI client (Win).
TIA
Michael Strauss
>
>
Mazda Australia takes every precaution to ensure
email messages
are virus free.
For extra protection you should virus scan this
message yourself.
>
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
http://calendar.yahoo.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.comHi Jean-Paul,
As described in the Technote 10981 some Forte programs (Nodemanager and
router) handle correct the high-file descriptor-use problem. It is possible
that Forte interpreter do it correct too.
Zenon
-----Original Message-----
From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
Sent: Monday, September 25, 2000 12:11 PM
To: Adamek, Zenon
Cc: Forte-userslists.xpedior.com
Subject: RE: (forte-users) [UNIX] "Too many open files" 3.0.M2
question
Actually, the stuff works in interpreted mode.
It's only when having the server partition compiled that this happen.
j-p
-----Message d'origine-----
De: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Date: lundi 25 septembre 2000 17:13
À: 'Jean-Paul.Gabriellisema.fr'
Cc: Forte-userslists.xpedior.com
Objet: RE: (forte-users) [UNIX] "Too many open files" 3.0.M2 question
see Technote 10981
-----Original Message-----
From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
Sent: Monday, September 25, 2000 11:02 AM
To: zeForte-users
Subject: (forte-users) [UNIX] "Too many open files" 3.0.M2 question
Hi,
running a server partition that reads a configuration file,
and apparently doen't close it after, I have that exception:
SYSTEM ERROR: System Error: Too many open files, opening '....'with mode
'r'
Class: qqos_FileResourceException
1) Is there such a limit, or does this rely only on the OS one ?
2) How is this error not trapped, as I only got itinteractively, whereas
my server log does a exception trap/segmentation fault,
thanlks
j-p
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) Is there a later version than Forte v30L2?What 's th
Hi,
We have recently upgraded to 30L4, and Forte say that this fixes a
corruption problem with the repository to do with large projects.
This patch also fixes the problem with AfterValueChange event on
FillInFields.
Upgrading was simple for us as we don't use Express.
R4 is still next year some time as far as I know.
Regards,
Jace.
Jason de Cean
Genisys Team
Lumley Technology Ltd.
Lvl. 8, 55 Sussex St
Sydney, NSW 2000 Australia
Ph: 02 9248 1321
-----Original Message-----
From: Haben, Dirk [mailto:[email protected]]
Sent: Wednesday, 20 October, 1999 3:06
To: 'Soapbox Forte Users'
Subject: (forte-users) Is there a later version than Forte v30L2? What's
the news on R4?
G'day
Someone posted a while back about Forte v30L2 having a minor problem
with
the repository. What's the latest on v30L2 and is there a later release
worth going/waiting for - from v30G2?
What's the release plan for R4 - and what's in it?
Is SynerJ vastly different to Forte - complement, supplement? Any
management
issues to know/learn about?
When will we see integration of selected projects to baseline only
rather
than whole workspace?
Thanks,
Dirk
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]I know system management for SynerJ is more complicated. I just got the
1.4.1 version of SynerJ and it has completely changed on how partitioning
work regarding the EJBs. Just more to learn to do the same thing we did in
Forte.
ka
Kamran Amin
[email protected]
(203)-459-7362 or 8-204-7362 - Trumbull
From: Peter Sham[SMTP:[email protected]]
Sent: Wednesday, October 20, 1999 9:55 AM
To: Haben, Dirk; 'Soapbox Forte Users'
Subject: Re: (forte-users) Is there a later version than Forte v30L2?
What's the news on R4?
Hi,
I guess many people is interested in finding out how different it is
between SynerJ and TOOL.
Here is something to share.
1. Forte is posting all manuels ( SynerJ, Fusion, Conductor ) on the Web.
You just need a customer login in. Here is a good start.
2. java.sun.com now has a beta document J2EE APM which explain the
architectual of J2EE. The document how and when you will use JSP,
Servlet, EJB & Java Bean etc. You will find it along with the J2EE beta
free download.
My feeling is: on system management level, SynerJ is more or less similiar
with what we have now ( maybe they jus rewriting everything in Java ).
However, on development and design level, there is quite a large
difference. Nevertheless, it's exciting.
Regards,
Peter Sham.
"Haben, Dirk" <[email protected]> wrote:
G'day
Someone posted a while back about Forte v30L2 having a minor problem
with
the repository. What's the latest on v30L2 and is there a later
release
worth going/waiting for - from v30G2?
What's the release plan for R4 - and what's in it?
Is SynerJ vastly different to Forte - complement, supplement? Any
management
issues to know/learn about?
When will we see integration of selected projects to baseline only
rather
than whole workspace?
Thanks,
Dirk
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) SerializationException
Ravi,
Are your partitions compiled?
On comiled partitions, NIL object exceptions show
up as these.
Hope this helps.
Nirmal
Nirmal P Uppalapati Phone:
(203) 622-5386
VP-US Operations
(203)
359-3992
PSI Data Systems Ltd. Mobile:
(203) 829-7741
Suite 406
Fax: (203) 359-4662
One Bank Street mail :
nirmalpsidata.com
Stamford, CT 06901 USA Web:
http://www.psi.soft.net
-----Original Message-----
From: Ravindra Kallamadi
[SMTP:rkallamadiyahoo.com]
Sent: Wednesday, January 26, 2000 6:12 PM
To: kamranaminyahoo.com
Cc: William.K.Bhattapmusa.com
Subject: (forte-users) SerializationException
Has anyone experienced the following
SerializationException?
Thu Jan 20 22:33:31 : End of Stack Backtrace
Thu Jan 20 22:33:31 : THROW:: Exception
0x1850038, task 0x10325d8
Thu Jan 20 22:33:31 : FATAL ERROR: System
segmentation/access violation
caught.
Class: qqos_SystemException
Error #: [101, 321]
Detected at: qqos_MainExFilter at 1
Error Time: Thu Jan 20 22:33:31
Exception occurred (locally) on partition
"xxxx_cl0_Part4",
(partitionId =
DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
taskId =
[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x3
4e.26]) in application
"xxxx_cl0", pid 1163 on node MCPORCA1 in
environment mcfem01.
Thu Jan 20 22:33:31 :
Thu Jan 20 22:33:31 : THROW:: Exception
0x1850188, task 0x10325d8
Thu Jan 20 22:33:31 : SYSTEM ERROR: Error during
Serialization.
Class: qqsp_SerializationException
Error #: [201, 34]
Detected at: qqlo_Xlate at 1
Error Time: Thu Jan 20 22:33:31
Exception occurred (locally) on partition
"xxxx_cl0_Part4",
(partitionId =
DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
taskId =
[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x3
4e.26]) in application
"xxxx_cl0", pid 1163 on node MCPORCA1 in
environment mcfem01.
Thu Jan 20 22:33:31 :
Thu Jan 20 22:33:31 : THROW:: Exception
0x1850188, task 0x10325d8
Thu Jan 20 22:33:31 : SYSTEM ERROR: Error
serializing attribute 1 of
class mach_status
(serialization type 6).
Class: qqsp_SerializationException
Error #: [1001, 267]
Detected at: qqrt_4GLClassType::InstanceXlate
at 1
Error Time: Thu Jan 20 22:33:31
Exception occurred (locally) on partition
"xxxx_cl0_Part4",
(partitionId =
DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
taskId =
[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x3
4e.26]) in application
"xxxx_cl0", pid 1163 on node MCPORCA1 in
environment mcfem01.
Thu Jan 20 22:33:31 :
Thu Jan 20 22:33:31 : THROW:: Exception
0x1850038, task 0x10325d8
Thu Jan 20 22:33:31 : FATAL ERROR: System
segmentation/access violation
caught.
Class: qqos_SystemException
Thanks.
Ravi Kallamadi
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.comSerialization errors can also come from mismatched id's in plans. This
happens when you have 2+ repositories containing the same code but having
different id's inside the plans. Applications built from these multiple
repositories will not be able to communicate with each other. Serialization
errors will occur when they attempt to. To fix this. Make sure that you
export all code with the "ids" flags. Check your fscript manual for more
information on this, but basically it is something like
exportworkspace <path>/<filename> ids
Overwriting a plan in Forte even with the overwrite command will not
overwrite the id's. So it might be necessary to junk a repository and start
it from scratch, importing the id's into it. This will ensure that all of
your "shared" code in the multiple repositories are in synch. And yes, this
is a huge pain.
Scott Francis
-----Original Message-----
From: Peter Sham [mailto:peter_shamyahoo.com]
Sent: Friday, January 28, 2000 10:18 AM
To: BOURDON Patrice; 'Ravindra Kallamadi'; kamranaminyahoo.com
Cc: William.K.Bhattapmusa.com
Subject: RE: (forte-users) SerializationException
Hi,
One more suggestion. You can run fscript and issue command "showapp" under
partition workshop, then you will see all the projects being pulled in for a
partition. This would show you whether your code for that attribute is
missing from the list of projects.
Regards,
Peter Sham.
BOURDON Patrice <patrice.bourdonalliance-sante.fr> wrote:
hi,
is the type of "attribute 1 of class mach_status" known of your partition ?
you can get this kind of error if you pass an object whose some type of
attribute are unknown in called partition
(but only from calling partition).
Patrice
-----Message d'origine-----
De: Ravindra Kallamadi [mailto:rkallamadiyahoo.com]
Date: jeudi 27 janvier 2000 00:12
À: kamranaminyahoo.com
Cc: William.K.Bhattapmusa.com
Objet: (forte-users) SerializationException
Has anyone experienced the following SerializationException?
Thu Jan 20 22:33:31 : End of Stack Backtrace
Thu Jan 20 22:33:31 : THROW:: Exception 0x1850038, task 0x10325d8
Thu Jan 20 22:33:31 : FATAL ERROR: System segmentation/access violation
caught.
Class: qqos_SystemException
Error #: [101, 321]
Detected at: qqos_MainExFilter at 1
Error Time: Thu Jan 20 22:33:31
Exception occurred (locally) on partition "xxxx_cl0_Part4",
(partitionId = DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
taskId =
[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in application
"xxxx_cl0", pid 1163 on node MCPORCA1 in environment mcfem01.
Thu Jan 20 22:33:31 :
Thu Jan 20 22:33:31 : THROW:: Exception 0x1850188, task 0x10325d8
Thu Jan 20 22:33:31 : SYSTEM ERROR: Error during Serialization.
Class: qqsp_SerializationException
Error #: [201, 34]
Detected at: qqlo_Xlate at 1
Error Time: Thu Jan 20 22:33:31
Exception occurred (locally) on partition "xxxx_cl0_Part4",
(partitionId = DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
taskId =
[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in application
"xxxx_cl0", pid 1163 on node MCPORCA1 in environment mcfem01.
Thu Jan 20 22:33:31 :
Thu Jan 20 22:33:31 : THROW:: Exception 0x1850188, task 0x10325d8
Thu Jan 20 22:33:31 : SYSTEM ERROR: Error serializing attribute 1 of
class mach_status
(serialization type 6).
Class: qqsp_SerializationException
Error #: [1001, 267]
Detected at: qqrt_4GLClassType::InstanceXlate at 1
Error Time: Thu Jan 20 22:33:31
Exception occurred (locally) on partition "xxxx_cl0_Part4",
(partitionId = DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,
taskId =
[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in application
"xxxx_cl0", pid 1163 on node MCPORCA1 in environment mcfem01.
Thu Jan 20 22:33:31 :
Thu Jan 20 22:33:31 : THROW:: Exception 0x1850038, task 0x10325d8
Thu Jan 20 22:33:31 : FATAL ERROR: System segmentation/access violation
caught.
Class: qqos_SystemException
Thanks.
Ravi Kallamadi
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
--0-1804289383-949072683=:11145
Content-Type: text/html; charset=us-ascii
<P>Hi,</P>
<P>One more suggestion. You can run fscript and issue command
"showapp" under partition workshop, then you will see all the projects being
pulled in for a partition. This would show you whether your code for
that attribute is missing from the list of projects.</P>
<P>Regards,</P>
<P>Peter Sham.</P>
<P><B><I>BOURDON Patrice <patrice.bourdonalliance-sante.fr></B></I>
wrote:<BR>
<BLOCKQUOTE style="BORDER-LEFT: #1010ff 2px solid; MARGIN-LEFT: 5px;
PADDING-LEFT: 5px">hi,<BR><BR>is the type of "attribute 1 of class
mach_status" known of your partition ?<BR>you can get this kind of error if
you pass an object whose some type of<BR>attribute are unknown in called
partition<BR>(but only from calling
partition).<BR><BR>Patrice<BR><BR>-----Message d'origine-----<BR>De:
Ravindra Kallamadi [mailto:rkallamadiyahoo.com]<BR>Date: jeudi 27 janvier
2000 00:12<BR>À:: kamranaminyahoo.com<BR>Cc:
William.K.Bhattapmusa.com<BR>Objet: (forte-users)
SerializationException<BR><BR><BR>Has anyone experienced the following
SerializationException?<BR><BR>---------------------------------------------
-------------------------<BR>Thu Jan 20 22:33:31 : End of Stack
Backtrace<BR><BR>Thu Jan 20 22:33:31 : THROW:: Exception 0x1850038, task
0x10325d8<BR>Thu Jan 20 22:33:31 : FATAL ERROR: System segmentation/access
violation<BR>caught.<BR>Class: qqos_SystemException<BR>Error #: [101,!
321]<BR>Detected at: qqos_MainExFilter at 1<BR>Error Time: Thu Jan 20
22:33:31 <BR>Exception occurred (locally) on partition
"xxxx_cl0_Part4",<BR>(partitionId =
DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,<BR>taskId
=<BR>[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in
application<BR>"xxxx_cl0", pid 1163 on node MCPORCA1 in environment
mcfem01.<BR>Thu Jan 20 22:33:31 : <BR>Thu Jan 20 22:33:31 : THROW::
Exception 0x1850188, task 0x10325d8<BR>Thu Jan 20 22:33:31 : SYSTEM ERROR:
Error during Serialization.<BR>Class: qqsp_SerializationException<BR>Error
#: [201, 34]<BR>Detected at: qqlo_Xlate at 1<BR>Error Time: Thu Jan 20
22:33:31 <BR>Exception occurred (locally) on partition
"xxxx_cl0_Part4",<BR>(partitionId =
DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,<BR>taskId
=<BR>[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in
application<BR>"xxxx_cl0", pid 1163 on node MCPORCA1 in environment
mcfem01.<BR>Thu Jan 20 22:33:31 : <BR>Thu Jan 20 22:33:31 : THROW::
Exception 0x185!
0188, task 0x10325d8<BR>Thu Jan 20 22:33:31 : SYSTEM ERROR: Error
serializing attribute 1 of<BR>class mach_status<BR>(serialization type
6).<BR>Class: qqsp_SerializationException<BR>Error #: [1001,
267]<BR>Detected at: qqrt_4GLClassType::InstanceXlate at 1<BR>Error Time:
Thu Jan 20 22:33:31 <BR>Exception occurred (locally) on partition
"xxxx_cl0_Part4",<BR>(partitionId =
DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e:0x1,<BR>taskId
=<BR>[DD8782F0-CB74-11D3-91A1-8088AF65AA77:0x34e.26]) in
application<BR>"xxxx_cl0", pid 1163 on node MCPORCA1 in environment
mcfem01.<BR>Thu Jan 20 22:33:31 : <BR>Thu Jan 20 22:33:31 : THROW::
Exception 0x1850038, task 0x10325d8<BR>Thu Jan 20 22:33:31 : FATAL ERROR:
System segmentation/access violation<BR>caught.<BR>Class:
qqos_SystemException<BR>----------------------------------------------------
-------------------<BR><BR>Thanks.<BR><BR>Ravi Kallamadi<BR><BR>--<BR>For
the archives, go to: http://lists.xpedior.com/forte-users and use<BR>the
login: fort!
e and the password: archive. To unsubscribe, send in a new <BR>email the
word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com<BR><BR>--<BR>For the archives, go to:
http://lists.xpedior.com/forte-users and use<BR>the login: forte and the
password: archive. To unsubscribe, send in a new <BR>email the word:
'Unsubscribe' to: forte-users-requestlists.xpedior.com<BR><BR></BLOCKQUOTE> -
RE: (forte-users) 3J= 3M new to me error
Hi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comHi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Re: (forte-users) 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) 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.htmHi 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) SAXParser and InputSource
Michael Beaulieu wrote on Mon November 8:
Hello,
I was wondering if anyone has any experience using the XMLParser
Library!? in Forte. I have no problem parsing a file using the
forte parser but when I try to parse a message/TextData object I get
the error " element not found " ( which is not due to my xml file )
The class InputSource has a method that takes SeekStream in its
setCharacterStream method:
str : MemoryStream = new();
str.open(SP_AM_READ_WRITE);
str.WriteText(myMessage);
theSource : InputSource = new();
theSource.setCharacterStream(str);
myParser.parse(theSource);Add this line after you're done writing to the MemoryStream:
str.Seek(position=0);
When the SAX parser is reading, it's reading from the current position
forward; after writing to the stream the current position is at the
end, so you have to rewind it to the beginning before giving it to the
SAX parser.
Cliff Draper
Forte Engineering
Forte Software, a subsidiary of SunWhy 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
Maybe you are looking for
-
Numbering of Footnotes in Pages 5.0.1
I have 4 footnotes (data sources) in a one page document in Pages 5.0.1. I have about 20 lines of text, mostly in bullet form. Is there any way to reference the 4 footnotes in some cases repeatedly and not in sequential order. For example, Text li
-
Slow start up. Sometimes freezes.
When I shut down my Macbook and then I power it back up some time later the start up is taking twice as long as usual. Sometimes the little circular thing that shows at start up freezes. It usually goes back to normal if I press down the power button
-
I BOUGHT 2 videos for my ipod. They are on my ipod, but they do not play when I select them to watch. What's wrong? Help ASAP!
-
Printing from iMac using bonjour to a printer connected to netgear wifi router USB port
Wondering if someone could help provide advice. I have just purchased my first iMac and a new NetGear W600 wifi router. I have connected my Canon multifunction MX310 printer directly to my iMac and it prints and scans perfectly. However when I connec
-
Dear All, I would thank you for any help in the following issue. I have split in a process which split the flow of the process to go to 3 users for approvals and each user can add attachments before it submit. The issue is that after the 3 users subm