Re: (forte-users) Display Problem
Judging by the title bar of the window, it looks like the application is
not running on the Boston user's PC, but is being driven by some sort of
PCAnywhere-style program. Maybe that's the problem?
At 14:44 28/02/00 -0800, Holm, Steve wrote:
<<good.doc>>
We have an application running in production that has been working just
fine. The screen layout is in the attached good.doc document. We brought
up our Boston division on this application and one user there has a problem
with the tabs at the bottom. The bottom section is scrunched together so
that not all the data is visible. I have attached a screen shot of the
application on her pc (bad.doc). Does anyone have any idea what might be
causing this?
<<bad.doc>>Stephen Szalla
Senior Technical Specialist
Sun Microsystems Australia - Forte Tools Group
Voice: +61 3 9699 7754
Fax: +61 3 9699 7781
Mobile: +61 419 392 867
mailto:Stephen.Szallaaus.sun.com
http://www.forte.com
My guess is, your third service object is not referenced.
-----Original Message-----
From: Forte App [mailto:forteapphotmail.com]
Sent: Wednesday, May 17, 2000 3:08 PM
To: kamranaminyahoo.com
Subject: (forte-users) Partition problem
Hello Everyone,
I have three (3) service objects in my project and when i went into
partition workshop i can only see two service objects instead of three and
all the three service objects properties settings are same
iam using Forte 3.0L2.
Thanks in Advance
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
Similar Messages
-
Re: (forte-users) No response from Router partition
Sounds like what we have been experiencing here, on Unix.
According to Forté, upgrading to 3M should resolve it. Unfortunately, we
can't
confirm it yet, as we are in the process of upgrading and testing.
I believe this is documented as an "internal" Forté bug report.
Hope this hels.
Daniel Désy
BORN
----- Original Message -----
From: "Pabbaraju, Ramarao (EXP N-IONIDEA)" <ramarao.pabbarajulmco.com>
To: "Forte-Users (E-mail)" <forte-userslists.xpedior.com>
Sent: Tuesday, November 14, 2000 10:46 AM
Subject: (forte-users) No response from Router partition
Hi All,
One of the router partitions on NT server stops responding once in awhile. We can not get to it through escript or econsole and the only
solution we have is to shutdown the ftexec using task manager and start
the partition again. We don't see any error messages in the log except
this line "LbRouter::AttachToRouter - Ignoring DOM version: -1 obj
version: 0". Does anyone have any idea what this means? Is there any way
to figure out the problem? We are using Forte 3L3. Thanks in advance.
Thanks
Ramarao--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a
new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comMy guess is, your third service object is not referenced.
-----Original Message-----
From: Forte App [mailto:forteapphotmail.com]
Sent: Wednesday, May 17, 2000 3:08 PM
To: kamranaminyahoo.com
Subject: (forte-users) Partition problem
Hello Everyone,
I have three (3) service objects in my project and when i went into
partition workshop i can only see two service objects instead of three and
all the three service objects properties settings are same
iam using Forte 3.0L2.
Thanks in Advance
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
User data causing display problems?
I had a user on an iBook whose display was completely washed out. The image was so white and there was so little detail that it was mostly unreadable.
So, I did a fresh load of 10.4 onto an older Powerbook G4 that had no issues, and I used the Setup Assistant to transfer over his all of his User Data, settings, and applications.
As soon as the Powerbook rebooted, it had inherited the display problem!
A fresh install on the iBook shows that the display is now fine. Somehow, this problem is travelling with the user's data, settings, and applications.
I've played with the display and color settings, but they have no effect on the problem.
The only unusual application that he was running was some "Ding!" app from Southwest Airlines.
Any idea where to look to hunt down this problem?Check the contrast setting in the Universal Access pane of System Preferences; this setting can cause what you describe.
(15278) -
RE: (forte-users) Debugging 'fixes' problem!!!
Duncan
This is often indicative of a race condition, especially when
multi-threading is involved.
What can happen is that task A is using something created or initialized by
task B,
and task B hasn't gotten around to doing its thing before task A asks for
it.
When running in debug mode, you give everything a lot more time to get
things
done while it's waiting for you to click the next button. So, when task A
starts task B,
you click Run on task B, watch it happen, go back to task A and click,
watch, click, etc.,
and by the time you get to the trouble spot, task B has long since done what
it had to do.
HTH.
Ken.
==========================
Ken Gacioch
Senior Consultant
Caro Systems, Inc.
[email protected]
-----Original Message-----
From: Duncan Kinnear [SMTP:[email protected]]
Sent: Sunday, November 21, 1999 11:33 PM
To: [email protected]
Subject: (forte-users) Debugging 'fixes' problem!!!
Hi folks,
I've got a weird one here.
I'm trying to find out why my code to highlight a particular outline field
row does not work.
However, when I run it in debug, it works perfectly! (The correct row is
highlighted). Anybody got any idea how I can get debug to behave
consistently with "The running man"?
I have tried using "<OutlineField>.UpdateFieldFromData()" as well as
using the same method on the specific DisplayNode involved.
I must point out that the outline field is in a window running as a
separate asynchronous task. Would that make any difference when
running in debug? When the second debug window appears for this
task I just click on the "Go" button and there are no breakpoints.
Any help would be greatly appreciated.
Cheers,
Duncan Kinnear,
McCarthy and Associates, Email:
[email protected]
PO Box 764, McLean Towers, Phone: +64 6 834 3360
Shakespeare Road, Napier, New Zealand. Fax: +64 6 834
3369Duncan
This is often indicative of a race condition, especially when
multi-threading is involved.
What can happen is that task A is using something created or initialized by
task B,
and task B hasn't gotten around to doing its thing before task A asks for
it.
When running in debug mode, you give everything a lot more time to get
things
done while it's waiting for you to click the next button. So, when task A
starts task B,
you click Run on task B, watch it happen, go back to task A and click,
watch, click, etc.,
and by the time you get to the trouble spot, task B has long since done what
it had to do.
HTH.
Ken.
==========================
Ken Gacioch
Senior Consultant
Caro Systems, Inc.
[email protected]
-----Original Message-----
From: Duncan Kinnear [SMTP:[email protected]]
Sent: Sunday, November 21, 1999 11:33 PM
To: [email protected]
Subject: (forte-users) Debugging 'fixes' problem!!!
Hi folks,
I've got a weird one here.
I'm trying to find out why my code to highlight a particular outline field
row does not work.
However, when I run it in debug, it works perfectly! (The correct row is
highlighted). Anybody got any idea how I can get debug to behave
consistently with "The running man"?
I have tried using "<OutlineField>.UpdateFieldFromData()" as well as
using the same method on the specific DisplayNode involved.
I must point out that the outline field is in a window running as a
separate asynchronous task. Would that make any difference when
running in debug? When the second debug window appears for this
task I just click on the "Go" button and there are no breakpoints.
Any help would be greatly appreciated.
Cheers,
Duncan Kinnear,
McCarthy and Associates, Email:
[email protected]
PO Box 764, McLean Towers, Phone: +64 6 834 3360
Shakespeare Road, Napier, New Zealand. Fax: +64 6 834
3369 -
RE: (forte-users) 3J= 3M new to me error
Hi Thomas,
Thanks for your email but I think it will be interesting for Brenda not me.
It is exactly what I have expected from Forte Support: detailed information
about bugs and workarounds. But what I cannot understand is that #53398 was
released without any information about possible reasons for this problem or
suggested workarounds. My first reaction after reading this bugreport was to
open a new case at CallCenter to get more information about it. Please
release more information with your bug reports !
Regards
Zenon Adamek
Information Services
Senior Programmer Analyst
Tel: 905 712-1084 ext. 3628
Fax: 905 712-6709
E-mail: zadamekpurolator.com
-----Original Message-----
From: Thomas Degen - Sun Germany Forte Tools - Bonn
[SMTP:thomas.degensun.com]
Sent: Wednesday, September 27, 2000 9:49 AM
To: Adamek, Zenon
Cc: 'Brenda Cumming'; Forte-userslists.xpedior.com
Subject: RE: (forte-users) 3J=>3M new to me error
Hi Zenon,
bug #53398 is not a bug which will likely get fixed, it's an informational
bugreport.
You might see an errorstack like Brenda has reported (and described in
informational
bugreport #53398) probably when you are doing something illegal that is
possible
via Forte Tool but Forte is not trapping it for performance reasons. Hence
you will see
the error coming from your illegal operation only at runtime, probably
only
while
running interpreted in the Forte IDE, but in worst case it might be even a
segmentation
violation.
Technotes 12448 'Sudden client partition crashes at runtime' and 11225
'Don't reparent
mapped Widgets between UserWindows at runtime' explain this matter . See
attached.
But maybe Brenda is much more experiencing a problem as described by Forte
Technote 11398 'Read Only Workspace Errors using ListViews or ActiveX
control'
that might get easily resolved via setting of FORTE_YIELD_THROTTLE=0.
Good Luck and Best Regards !
BTW: I've logged bug #53398, so I've felt responsible to explain its real
background.
Thomas
Thomas Degen
Sun Microsystems - Forte Tools
Forte CTE & Sustaining Group
Technical Support Germany
tel.:+49.228/91499-50
MailTo:thomas.degensun.com
Technote 11398 Read Only Workspace Errors using ListViews or ActiveX
control
SCENARIO:
Getting some unusual interpreter errors that result in an error stating
that
the workspace has been set to read only. Please see Enclosures for the
two
most common error stacks that have been encountered. The abbreviated
versions of the errors are:
- Can't read record (record size = -1)
- Id in index does not match id in record header in data file
- Recursive deserialization attempted.
- Unknown Mark type in deserialization
- Could not read record (64,74615) from repository data file.
Header
is corrupt.
These errors can be happening in either the development environment when
running from one of the development workshops, or with the deployed
application.
The bug outlined in this Technote may be the culprit if the errors above
are
seen when running a client on Windows NT or Motif and the user interface
incorporates ActiveX controls or ListView/TreeView widgets.
CAUSE:
Basically what is happening is that in rare circumstances Forte may invoke
a
nested copy of the interpreter while the first interpreter has yielded.
This
is not a problem in and of itself, but in the case where the original
interpreter was in the middle of a repository fetch when it yielded, and
the second interpreter needs to fetch code as well, we will get one of the
errors listed above, depending on the exact timing. The reason for the
errors is that the repository code at this level is thread-safe but not
re-entrant. It is protected by a mutex that is already owned by the
current task. Which, given the scenario outlined here, where the two
interpreters are running inside of the same task, results in the nested
interpreter being allowed to change data out from under the first.
While for every fetch one or more calls to WindowSystem.Yield will be made
(this is there to prevent the semblance of system lock-up on Win 3.1,
where
Yield is the only way other applications can be allowed to run), there is
a parameter which controls how often to actually yield, which by default
is
set to one out of every 100 calls. This is the reason the problem is
intermittent--you need a yield to occur during a repository fetch
which starts another interpreter which also needs to fetch code from
disk.
The reason this has only surfaced recently is that the nested interpreter
scenario can only happen in 2 cases that we know of:
- ActiveX controls which respond to events/Windows messages
- Outline fields/ListViews with column(s) mapped to virtual
attributes
In all other normal cases, the yield can process the message (typically a
paint message) without starting another interpreter, so regardless of
whether
the first interpreter yielded during a repository operation or not, there
is
no conflict.
SOLUTION:
The workaround is to prevent yields altogether by setting the
FORTE_YIELD_THROTTLE environment variable equal to 0 in the client's
environment. This should have no detrimental effects since the yield code
is in place solely for Windows 3.1x clients.
ERROR STACK 1
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to
prevent the application from attempting to write to the repository. The
repository and work you have saved to the repository are safe. If your
workspace
contains unsaved work, you may use the following procedure to save this
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import
the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::GetObjectById
Last TOOL statement: method EFWindowController.EFEventLoop
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
The remainder of the Error Manager stack is:
SYSTEM ERROR: Internal Error attempting to deserialize element (64,67470)
(fetch
bitmask is 0x20). Your workspace is now read-only to prevent the
application
from attempting to write to the repository. The repository and work you
have
saved to the repository are safe. If your workspace contains unsaved work,
you
may use the following procedure to save this work. First, export the
changed
components. Then, shut down and restart this application and reopen this
workspace in read-write mode. Finally, import the changed components and
save
your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Last TOOL statement: method EFTabManagerNew.EFNoteBookHandler
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
SYSTEM ERROR: Unknown Mark type in deserialization.
Class: qqsp_ImplementationException
Error #: [1101, 34]
Detected at: qqrp_DeSerializeObject::ProcessHdr
Error Time: Tue Nov 18 15:58:47
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1,
taskId =
[7EFAE060-4AFA-11D1-A1C1-1FDC8A99AA77:0x446:0x1.23]) in application
"ConPlus_GUI_cl0", pid 147 on node ISD060 in environment EdgeTest.
ERROR STACK 2
SYSTEM ERROR: A serious error has occurred in Repository
(c:\PROGRA~1\CSSPTEST\conplu0). Corrective action may be necessary.
Notify
your repository administrator.
Class: qqsp_ImplementationException
Error #: [1101, 198]
Detected at: qqrp_Repository::Fetch
Last TOOL statement: method
SalesDevelopment_NWC.DEVNotifyofTabSetCurrent
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
SYSTEM ERROR: Could not read record (64,74615) from repository data file.
Header is corrupt.
Class: qqsp_ImplementationException
Error #: [1106, 612]
Detected at: qqbt_BtreeAccess::FetchDataFileRecord
Error Time: Wed Dec 03 10:27:22
Exception occurred (locally) on partition "ConPlus_GUI_cl0_Client",
(partitionId = 769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1,
taskId =
[769D4310-6B88-11D1-84FD-65BF87C8AA77:0x121:0x1.22]) in application
"ConPlus_GUI_cl0", pid 172 on node ISD42 in environment Edge.
Technote 11225 Don't reparent mapped Widgets between UserWindows at
runtime
It is sometimes tempting to unparent a widget from one UserWindow and
reparent
it into another at runtime. However, this can cause crashes if the widget
(or
its decendants) are "mapped" to data. Here's why...
Suppose you have two UserWindows, UW1 and UW2. UW1 contains a DataField
(DF1)
which is mapped to a TextData. UW2 contains a RadioList (RL2) which is
mapped to
a scalar Integer. At compile time, every mapped attribute is internally
assigned
a "Map ID" (a small integer) which is used to tie the Widget to its
corresponding attribute. These Map IDs are used by the Widget to look up a
pointer to their data in a "Map" which is maintained by the UserWindow.
Each
UserWindow is assumed be to independent of the others, so there is nothing
wrong
with Widgets in different UserWindows being assigned the same Map IDs.
In
this
case, let's assume that DF1 and RL2 both got assigned the same Map ID of
3. No
problem so far, since each lives in a separate UserWindow with a separate
map.
Now suppose at runtime the application "detaches" or unparents DF1 from
its
UserWindow and reparents it somewhere into UW2. When it comes time for DF1
to
paint itself the Display System it must ask the Runtime System for the
value of
DF1's mapped attribute. To do that it says "give me the value of the
TextData
for DF1. You'll find it in the Map for this UserWindow (UW1), and its Map
ID is
3". When the runtime system goes to do this it expects to find a TextData
in
this "slot" of the map, but instead it picks up the integer which is
mapped to
RL2. At best this leads to bad data being returned; more likely you get a
segfault and a crash.
If DF1 was not a mapped attribute (say, a Rectangle) there would be no
problem
because there is no data mapped to a Rectangle. If instead of moving DF1
you
created a brand new DataField on the fly there would be no problem,
because the
dynamic DataField would not have any Map ID and so couldn't conflict with
any
IDs in UW2.
So how do you solve this problem? This is exactly what Nested Windows are
all
about. While you can't move DF1 into the middle of UW2, you can nest
UW1.
This
works because UW1 brings its map with it, and when you access DF1 it knows
to
look up its value in UW1's map.
UserWindows are intended to be the "unit of compilabilty" that can be
nested
inside other UserWindows. It is dangerous to "transplant" anything from
inside
one UserWindow into another at runtime.
(Note that you can't avoid this problem by cloning DF1 because the MapID
gets
copied along with it, and the clone will fail in the same way.)
Further details explained in related technote 12448 'Sudden client
partition
crashes at runtime.'
Technote 12448 Sudden client partition crashes at runtime
Scenario : You have two UserWindows, A and B. When Window A starts up, it
instantiates an instance of B and reparents some component of B into A's
window
hierarchy.
This is not allowed and almost always leads to an error at best or at
worse a
segmentation fault.
Here's why :
When you compile a UserWindow in Forte, each "mapped attribute" (whether a
form
element or menu element) is assigned an internal ID which represents an
offset into
that UserWindow's table of mapped attributes. This offset is only valid
in the
context of the UserWindow in which it was compiled. If you detach a
FieldWidget or
MenuWidget from one compiled Window ("tmpMenu" for example) and then
parent
into another compiled window ("tmpWindow") the internal ID comes with it.
When Forte tries to make use of that copied widget it uses the ID as an
offset
into tmpWindow's table of mapped attributes. But that copied offset is
meaningless in the context of tmpWindow's table, so you get some kind off
error.
In this case it found that the data type of the variable in the slot
wasn't
what
was expected. But you might even index off the end of the table and get a
segmentation fault.
There is nothing to prevent you from dynamically creating menu items and
adding
them to a window at runtime; that will work fine. Although of course you
can't
access them via mapped attributes, since those can only be created at
compile time.
But you are not allowed to reparent a widget from one compiled UserWindow
into
the hierarchy of another.
More information may be found in technote 11225 'Don't reparent mapped
Widgets
between UserWindows at runtime'.
Possible errorstacks seen at runtime instead of a complete crash or
segmentation
violation while you are illegally reparenting a widget or menuitem between
windows
at runtime:
Map::SetSubjectData: Invalid conversion from map type 0 to subject type 22
SYSTEM ERROR: Bad parameter at location 3 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 3
Error Time: Wed Aug 09 13:03:57
Exception occurred (locally) on partition "testproject_CL0_Client",
(partitionId = D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd,
taskId =
[D4914A10-36C1-11D4-91B3-419AA33BAA77:0x208:0xd.68]) in application
"FTLaunch_cl0", pid 672 on node ONEWAY in environment Audi3M2Env.
At 13:14 26.09.00 -0400, Adamek, Zenon wrote:
Hi,
It is the unfixed defect 53398. Please contact Forte support.
Zenon
-----Original Message-----
From: Brenda Cumming [SMTP:brenda_cummingtranscanada.com]
Sent: Tuesday, September 26, 2000 1:15 PM
To: Forte User group
Subject: (forte-users) 3J=>3M new to me error
Hi,
We are in the process of going from 3J1 to 3.0.M.2, and I am getting
this error that I am unfamiliar with on a GUI that works fine in 3J.
It
does not happen all the time, and I have been unable to establish the
pattern that kicks it off. Has anyone seen this before?
PS- this error is not occurring in the deployed (non-compiled) app,but
when I am running locally from my workspace.
SYSTEM ERROR: Bad parameter at location 6 in method
qqrt_MapClassAccess::ProcessSubjectData.
Class: qqsp_Exception
Error #: [1001, 381]
Detected at: qqrt_MapClassAccess::ProcessSubjectData at 6
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2,
taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Can't find scope 20070 for a class.
Class: qqsp_Exception
Error #: [201, 11]
Detected at: qqlo_ClassTableLoadScope at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Because of a prior error, your workspace was set to
read-only to prevent the application from attempting to write to the repository.
The repository and work you have saved to the repository are safe. If
your
workspace contains unsaved work, you may use the following procedure
to save this work. First, export the changed components. Then, shut down and
restart this application and reopen this workspace in read-write mode.
Finally, import the changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 695]
Detected at: qqrp_Session::IsDistributed
Last TOOL statement: method PPMeasWin.
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Internal Error attempting to deserialize element
(64,120684) (fetch bitmask is 0x20). Your workspace is now read-onlyto
prevent
the application from attempting to write to the repository. The
repository
and work you have saved to the repository are safe. If your workspace
contains unsaved work, you may use the following procedure to savethis
work.
First, export the changed components. Then, shut down and restart this
application and reopen this workspace in read-write mode. Finally, import the
changed components and save your workspace.
Class: qqrp_RepResourceException
Error #: [1101, 61]
Detected at: qqrp_LogicalSession::MaterializeObject
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition
"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
SYSTEM ERROR: Recursive Deserialization attempted, Internal Error!
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [301, 231]
Detected at: qqsp_DeSerializeDriver::Run at 1
Error Time: Wed Sep 20 14:32:54
Exception occurred (locally) on partition"ABSDevtStartUp_CL0_Client",
(partitionId = 36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2, taskId =
[36172000-5DA8-11D4-B1F0-14015EDAAA77:0x2da:0x2.25]) in
application
"Forte_cl0", pid 93 on node T5621 in environment AbisDMEnv.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in anew
email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.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) access violation caught in debugmode
Eric,
There has been a problem with Forte debug mode for sometime now when the app
is silent. If you attempt to inspect the variables when the app is in the
'silent' mode, i.e., waiting on an event loop for a user input or a system
event, then you get the "Access violation caught ..." exception message and
the workspace including the launch server crashes.
If you are getting this problem in the 'step-through' mode, you should look
at the lauch server immediately after you get the exception before
everything disappears. There could be a stack backtrace due to some illegal
reference. We have faced a similar situation before but the error appeared
both in the 'debug' and 'run' modes.
Hope this helps.
Braja K Chattaraj.
From: Eric Decossaux <[email protected]>
To: forte mailing <[email protected]>
Subject: (forte-users) access violation caught in debug mode
Date: Thu, 23 Sep 1999 17:31:39 +0200
Hello,
I have a problem using Forte in debug mode. If I run my program on my NT
machine from the partition workshop (distributed run), the program works
fine except that some object does not display what I'm expecting. So I
want to use the debug mode to inspect the objets of this window. When I
choose the "local variables" option to see the content of my window, I
have a "access violation caught" and forte disappears. If I just let my
program run without choosing this option, everything is the same than
with the distributed run.
Does somebody have an idea what to look for ? I really want to look the
inside the attributes of this window.
We recently upgraded from release 30G2 to release 30L2. Could it be the
problem ?
Eric Decossaux
Cliniques Universitaires St Luc
Informatique des Laboratoires
av Hippocrate 10 / 1730
1200 Bruxelles
+32+2+764 17 53
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]Eric,
Another possibility has to do with the repository. You said you recently
migrated 30G2 to release 30L2.
Many strange problems have been traced to release migrations with old
repositories. If the repository was properly migrated another thing you can try
is to export the project(s) to PEX files, delete them from the repository, and
then re-import. I know this can be time consuming but I have solved more than
one unexplained problem in the IDE by doing it.
---------------------- Forwarded by Charlie Shell/Bsg/MetLife/US on 09/23/99
01:19 PM ---------------------------
"Ajith Kallambella" <[email protected]> on 09/23/99 12:08:54 PM
To: [email protected], [email protected]
cc: (bcc: Charlie Shell/Bsg/MetLife/US)
Subject: Re: (forte-users) access violation caught in debug mode
Eric,
Sometimes( 90% ) you can solve this problem by
checking out the class that is causing the crash
and force-compiling it.
If it doesn't help, run through this checklist.
1. Do you have enough memory resources.?
2. Is the object you are inspecting held in a lock ?
( mutex, transaction lock etc )
3. Does it work when you wait for sometime at the
breakpoint before inspecting the values? I mean
are you interrupting some process thread?
4. Does it work if you log the attributes using logmgr?
5. Are you using any call-outs/call-ins? Any external
systems integration? Sometimes( for reasons beyond
my comprehension ) the objects allocated outside
Forte gets corrupted when its passed back and forth.
6. ...finally...Santa Clause, help me!
Ajith Kallambella M.
Forte Systems Consultant.
From: Eric Decossaux <[email protected]>
To: forte mailing <[email protected]>
Subject: (forte-users) access violation caught in debug mode
Date: Thu, 23 Sep 1999 17:31:39 +0200
Hello,
I have a problem using Forte in debug mode. If I run my program on my NT
machine from the partition workshop (distributed run), the program works
fine except that some object does not display what I'm expecting. So I
want to use the debug mode to inspect the objets of this window. When I
choose the "local variables" option to see the content of my window, I
have a "access violation caught" and forte disappears. If I just let my
program run without choosing this option, everything is the same than
with the distributed run.
Does somebody have an idea what to look for ? I really want to look the
inside the attributes of this window.
We recently upgraded from release 30G2 to release 30L2. Could it be the
problem ?
Eric Decossaux
Cliniques Universitaires St Luc
Informatique des Laboratoires
av Hippocrate 10 / 1730
1200 Bruxelles
+32+2+764 17 53
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected] -
RE: forte-users-digest Digest V00 #186
Just a follow up to the TIFF Problem.
Try using the WANG Image edit control (supports 32-bit OLE) Copyright
Wang Laboratories, Inc. 1995-1996..
It should be available free on the net or if you have Microsoft Visual
Studio 6.0 it comes with it. make sure you make the control invisible so
that it does not show up.
- Ravi.
Intel Corporation.
-----Original Message-----
From: forte-users-digest-requestlists.xpedior.com
[SMTP:forte-users-digest-requestlists.xpedior.com]
Sent: Wednesday, May 17, 2000 8:05 AM
To: forte-users-digestlists.xpedior.com
Subject: forte-users-digest Digest V00 #186
forte-users-digest Digest Volume 00 : Issue
186
Today's Topics:
RE: forte-users-digest Digest V00 #185
Intermittent database problems
Administrivia:
* BEFORE YOU ASK - please search the archives at:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive
* To unsubscribe, send in a new email the word 'Unsubscribe' to:
forte-users-digest-requestlists.xpedior.com
Date: Tue, 16 May 2000 18:30:00 -0700
From: "Balakrishna, RavikumarX" <ravikumarx.balakrishnaintel.com>
To: forte-userslists.xpedior.com, forte-users-digestlists.xpedior.com
Subject: RE: forte-users-digest Digest V00 #185
Message-ID:
<0428AD6295E1D211AC4400A0C969E8A2045C29FAorsmsx43.jf.intel.com>
Content-Type: text/plain
Hi,
The only work around I can see to your problem is to convert the TIFF
to
any other format that forte supports. You could use Microsoft's Image
Composer to do this. As far as I can see your requirement is runtime. I
would suggest using Windows imaging ( an image edit control, that is an
active-x control ). Use this control to perform a SaveAs operation on the
TIFF file to save it as a GIF and then use the converted GIF to place it
in
your Forte Object. I know it works in C++ so it should surely work in
forte too. I don't have the documentation for the image edit control,
but
Iam sure there are lot of similar controls out there . And make sure
you
save the file in a format that supports mutiple page formats. ( i.e
prefer
GIF to BMP when you convert)
Hope this Helps,
- Ravi Balakrishna
Automation Software Engineer
Intel Corporation.
-----Original Message-----
From: forte-users-digest-requestlists.xpedior.com
[SMTP:forte-users-digest-requestlists.xpedior.com]
Sent: Tuesday, May 16, 2000 3:05 PM
To: forte-users-digestlists.xpedior.com
Subject: forte-users-digest Digest V00 #185
forte-users-digest Digest Volume 00 : Issue
185
Today's Topics:
Tiff images again.....
Administrivia:
* BEFORE YOU ASK - please search the archives at:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive
* To unsubscribe, send in a new email the word 'Unsubscribe' to:
forte-users-digest-requestlists.xpedior.com
Date: Tue, 16 May 2000 11:07:25 -0400
From: "Jones, Gail A" <gail.joneseds.com>
To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
Subject: Tiff images again.....
Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
Content-Type: text/plain;
charset="iso-8859-1"
I need to place TIFF images in a Forte Object to display on a client
window.
Does anyone have any tips or code that you would be willing to sharethat
can help me do that. I checked with Forte the other day and found theydo
not support the TIFF format.
Thanks much,
Gail Jones
EDS Medi-Cal
Sacramento, Ca.
End of forte-users-digest Digest V00 Issue #185
Date: Wed, 17 May 2000 08:34:01 -0600
From: joe.wolfesasktel.sk.ca
To: kamranaminyahoo.com
Subject: Intermittent database problems
Message-Id: <062568E2.00500AC5.00regn0683nt.sasktel.sk.ca>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
We have a Forte server running on HP_UX 10.2. It connects to an Oracle
database
on AIX. Over the past several months we have received intermittent
failures
that neither we nor our Oracle support team have been able to resolve
(example
below). Prior to the error occuring the partition can be operating
successfully for several days. When this error occurs the IsConnected
instrument on the DBSession is still shown as TRUE, and there are no error
counts on the instruments. After cycling the partition everything runs
fine for
between a day and a month. If anybody has a resolution, or even a good
hunch
I'd appreciate hearing it.
Attached to manager for node capri.
SYSTEM ERROR: OpenCursor failed for SQL statement in project CTISvcs,
class
LookUpInfoMgr, method LoadAgent, methodId 4, line 55, error from
database is:
ORA-02019: connection description for remote database not found
Class: qqdb_ResourceException
Detected at: qqdb_OracleVendorInfo::DoOexn
Error Time: Wed May 17 07:42:42
Oracle error: 2019, Server: DBP13, UserName: forte_c3
Database Statement: select a.cctr_agt_id CareCentreAgentID , a.emp_id
EmployeeID , a.eff_fr_dat EffectiveFromDate , a.eff_to_dat
EffectiveToDate
, a.cctr_agt_gr_id CareCentreGroupID , RTrim ( InitCap ( b.fst_nm )
EmployeeFirstName , RTrim ( InitCap ( b.srnm ) ) EmployeeLastName
from
t_cctr_agt a , t_emp b where a.emp_id = b.emp_id
Exception occurred (locally) on partition "TServRM1_cl0_Part2",
(partitionId = A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x31d, taskId =
[A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x320.777]) in application
"TServRM1_cl0", pid 24249 on node capri in environment prodenv.
TIA,
Joe Wolfe, External Programmer Analyst
SaskTel
email: joe.wolfesasktel.sk.ca
End of forte-users-digest Digest V00 Issue #186Just a follow up to the TIFF Problem.
Try using the WANG Image edit control (supports 32-bit OLE) Copyright
Wang Laboratories, Inc. 1995-1996..
It should be available free on the net or if you have Microsoft Visual
Studio 6.0 it comes with it. make sure you make the control invisible so
that it does not show up.
- Ravi.
Intel Corporation.
-----Original Message-----
From: forte-users-digest-requestlists.xpedior.com
[SMTP:forte-users-digest-requestlists.xpedior.com]
Sent: Wednesday, May 17, 2000 8:05 AM
To: forte-users-digestlists.xpedior.com
Subject: forte-users-digest Digest V00 #186
forte-users-digest Digest Volume 00 : Issue
186
Today's Topics:
RE: forte-users-digest Digest V00 #185
Intermittent database problems
Administrivia:
* BEFORE YOU ASK - please search the archives at:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive
* To unsubscribe, send in a new email the word 'Unsubscribe' to:
forte-users-digest-requestlists.xpedior.com
Date: Tue, 16 May 2000 18:30:00 -0700
From: "Balakrishna, RavikumarX" <ravikumarx.balakrishnaintel.com>
To: forte-userslists.xpedior.com, forte-users-digestlists.xpedior.com
Subject: RE: forte-users-digest Digest V00 #185
Message-ID:
<0428AD6295E1D211AC4400A0C969E8A2045C29FAorsmsx43.jf.intel.com>
Content-Type: text/plain
Hi,
The only work around I can see to your problem is to convert the TIFF
to
any other format that forte supports. You could use Microsoft's Image
Composer to do this. As far as I can see your requirement is runtime. I
would suggest using Windows imaging ( an image edit control, that is an
active-x control ). Use this control to perform a SaveAs operation on the
TIFF file to save it as a GIF and then use the converted GIF to place it
in
your Forte Object. I know it works in C++ so it should surely work in
forte too. I don't have the documentation for the image edit control,
but
Iam sure there are lot of similar controls out there . And make sure
you
save the file in a format that supports mutiple page formats. ( i.e
prefer
GIF to BMP when you convert)
Hope this Helps,
- Ravi Balakrishna
Automation Software Engineer
Intel Corporation.
-----Original Message-----
From: forte-users-digest-requestlists.xpedior.com
[SMTP:forte-users-digest-requestlists.xpedior.com]
Sent: Tuesday, May 16, 2000 3:05 PM
To: forte-users-digestlists.xpedior.com
Subject: forte-users-digest Digest V00 #185
forte-users-digest Digest Volume 00 : Issue
185
Today's Topics:
Tiff images again.....
Administrivia:
* BEFORE YOU ASK - please search the archives at:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive
* To unsubscribe, send in a new email the word 'Unsubscribe' to:
forte-users-digest-requestlists.xpedior.com
Date: Tue, 16 May 2000 11:07:25 -0400
From: "Jones, Gail A" <gail.joneseds.com>
To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
Subject: Tiff images again.....
Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
Content-Type: text/plain;
charset="iso-8859-1"
I need to place TIFF images in a Forte Object to display on a client
window.
Does anyone have any tips or code that you would be willing to sharethat
can help me do that. I checked with Forte the other day and found theydo
not support the TIFF format.
Thanks much,
Gail Jones
EDS Medi-Cal
Sacramento, Ca.
End of forte-users-digest Digest V00 Issue #185
Date: Wed, 17 May 2000 08:34:01 -0600
From: joe.wolfesasktel.sk.ca
To: kamranaminyahoo.com
Subject: Intermittent database problems
Message-Id: <062568E2.00500AC5.00regn0683nt.sasktel.sk.ca>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
We have a Forte server running on HP_UX 10.2. It connects to an Oracle
database
on AIX. Over the past several months we have received intermittent
failures
that neither we nor our Oracle support team have been able to resolve
(example
below). Prior to the error occuring the partition can be operating
successfully for several days. When this error occurs the IsConnected
instrument on the DBSession is still shown as TRUE, and there are no error
counts on the instruments. After cycling the partition everything runs
fine for
between a day and a month. If anybody has a resolution, or even a good
hunch
I'd appreciate hearing it.
Attached to manager for node capri.
SYSTEM ERROR: OpenCursor failed for SQL statement in project CTISvcs,
class
LookUpInfoMgr, method LoadAgent, methodId 4, line 55, error from
database is:
ORA-02019: connection description for remote database not found
Class: qqdb_ResourceException
Detected at: qqdb_OracleVendorInfo::DoOexn
Error Time: Wed May 17 07:42:42
Oracle error: 2019, Server: DBP13, UserName: forte_c3
Database Statement: select a.cctr_agt_id CareCentreAgentID , a.emp_id
EmployeeID , a.eff_fr_dat EffectiveFromDate , a.eff_to_dat
EffectiveToDate
, a.cctr_agt_gr_id CareCentreGroupID , RTrim ( InitCap ( b.fst_nm )
EmployeeFirstName , RTrim ( InitCap ( b.srnm ) ) EmployeeLastName
from
t_cctr_agt a , t_emp b where a.emp_id = b.emp_id
Exception occurred (locally) on partition "TServRM1_cl0_Part2",
(partitionId = A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x31d, taskId =
[A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x320.777]) in application
"TServRM1_cl0", pid 24249 on node capri in environment prodenv.
TIA,
Joe Wolfe, External Programmer Analyst
SaskTel
email: joe.wolfesasktel.sk.ca
End of forte-users-digest Digest V00 Issue #186 -
RE: (forte-users) Help on 'The class has been voided andcannot be insta
PB Solved.
The symtom was that my 'windows' plan that I distrubute call
the StartMethod of a class defined higher in the hierarchy,
and I had to specify that plan as direct supplier plan of my
new project for the 'voided' not to happen.
cheers
j-p
-----Message d'origine-----
De: Jean-Paul Gabrielli [mailto:Jean-Paul.Gabriellisema.fr]
Date: mercredi 5 juillet 2000 12:08
À: Klerk, Theo de
Objet: RE: (forte-users) Help on 'The class has been voided and cannot
be instanciated' plz
the issue is as follows:
I distribute a plan A
I want to rename the plan,
and create a plan B that has A as supplier.
Distributing B wor'ks
Running it fails with that issue.
Actually I recreated supplierplans in B as they were defined in A,
and the problem disappeared.
thansk for your time
j-paul
-----Message d'origine-----
De: Klerk, Theo de [mailto:Theo.de.Klerkcompaq.com]
Date: mardi 4 juillet 2000 22:31
À: 'Jean-Paul.Gabriellisema.fr'
Objet: RE: (forte-users) Help on 'The class has been voided and cannot
be instanciated' plz
Jean-Paul,
It would help if you have a bit more description around thesituation when
this error happens.
Could it be you have two service objects that refer to each other
while the
partition is still starting up? (SO's are not supposed to talk to
each other
during partition startup).
Or was the partition up and running?
Has the service object been in existence and used before itbecame voided?
Is the partition compiled or interpreted?
Theo de Klerk
Architecture & Application Integration
Professional Services
Compaq Computer Corp. - the Netherlands
PGP Fingerprint: 5A70 DD56 F3BA FE04 9DCA 1ACE 8581 0A2F F057 FA6E
-----Original Message-----
From: Jean-Paul Gabrielli [mailto:Jean-Paul.Gabriellisema.fr]
Sent: Tuesday, 04 July, 2000 18:17
To: Forte-Users
Subject: (forte-users) Help on 'The class has been voided and
cannot be
instanciated' plz
Hi,
Here's the stack I get:
SYSTEM ERROR: Failed to create service object
BOS.MyServicesMgrSO.
Class: qqsp_ResourceException
Error Time: Tue Jul 4 18:05:07
Exception occurred (locally) on partition "BC_cl0_Part3",
(partitionId =
AF3B67A0-3335-11D4-BE9D-963C5A7FAA77:0x224, taskId =
[AF3B67A0-3335-11D4-BE9D-963C5A7FAA77:0x224.6]) in application
"BC_cl0", pid 10328 on node MyServerin environment
CentralEnv.
SYSTEM ERROR: The class MyServericesMgr has been voided and cannot
be
instantiated in this partition.
Class: qqsp_UsageException with ReasonCode: SP_ER_INVALIDSTATE
Error #: [201, 14]
Detected at: qqlo_VoidedClassException at 1
Error Time: Tue Jul 4 18:05:07
Exception occurred (locally) on partition
"BC_cl0_Part3",
(partitionId =
AF3B67A0-3335-11D4-BE9D-963C5A7FAA77:0x224, taskId
=
[AF3B67A0-3335-11D4-BE9D-963C5A7FAA77:0x224.6]) in
application
"BC_cl0", pid 10328 on node MyServer in
environment
CentralEnv.
aud Tue Jul 4 18:05:07 : Shutting down partition due to
failure of this
partition.
aud Tue Jul 4 18:05:07 : Shutting down partition as requested.
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,
send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.comHi Sylvain
Try using window.smallIconImage =
ImageData(<TitleBarIcon>.ImageValue) ;
This should work.
Jairaj Rampershad
System Concultant
--- Sylvain_Porée <Sylvain.Poreesophia.sema.fr>
wrote:
Hi Forte Gurus,
I have tried to set an icon using this statement :
window.SmallIconImage =
aIconFile.<TitleBarIcon>.imagevalue;
where <TitleBarIcon> is a PictureGraphic in my
window workshop.
I have tried 16*16 16 colours as well as many other
arrangements. It does
not work. I use windows NT.
Any ideas ?
Thanks
Sylvain
PS : For info (forte help):
SmallIconImage
Data Type ImageData
Source Class Window
Settable? Yes
The SmallIconImage attribute (ImageData) provides
the small icon to be used
when the window is iconized, for example, in the
task bar. The image size
for a small icon should be 16 by 16 pixels. Although
the image will be
scaled if you provide one of a different size, for
best results, we
recommend that you create your icons in the same
size in which they will be
displayed.
Windows 95/NT only
This feature is available on Windows 95/NT only. On
other platforms, the
attribute is ignored.
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To
unsubscribe, send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com -
Re: (forte-users) Session management for page builder(fwd)
Jaco,
Hope this helps,
John
John Soper, Information Systems Development, ITS, The University of Melbourne
email: j.soperits.unimelb.edu.au >>>> Tel: 9344 5612---------- Forwarded message ----------
Date: Mon, 10 Jan 2000 16:34:31 +1100
From: Lyle Winton <L.Wintonits.unimelb.edu.au>
To: John Soper <j.soperits.unimelb.edu.au>
Subject: Re: (forte-users) Session management for page builder (fwd)
Why not construct an intermediate page after the
login page that has SESSION_UNSPECIFIED and
a refresh META tag. The page can then refresh
to either the login failed or login succeeded pages
depending on how the login went! Looks like...
1) Login page (SESSION_UNSPECIFIED)
2A) Refresh page (SESSION_UNSPECIFIED)
< HTML >
< HEAD >
< META http-equiv="refresh"
content="0;URL=<a href=
"http://www.blah.com/forte.cgi?PageName=3">http://www.blah.com/forte.cgi?PageName=3</a>" >
< /HEAD >
< BODY >
Login succeeded. Please wait...
< /BODY >
< /HTML >
2B) Refresh page (SESSION_UNSPECIFIED)
< HTML >
< BODY >
Login failed.
< /BODY >
< /HTML >
3) We're finally in. (SESSION_REQUIRED)
I'm not sure if this works on internet exploder.
Lyle.
John Soper wrote:
Lyle,
(Post from forte mailing group)
Does this make sense to you?
John
John Soper, Information Systems Development, ITS, The University of Melbourne
email: j.soperits.unimelb.edu.au >>>> Tel: 9344 5612---------- Forwarded message ----------
Date: Thu, 30 Dec 1999 07:54:24 +0200
From: "Jaco Erasmus (home)" <jacoerasmweb.co.za>
To: kamranaminyahoo.com
Subject: (forte-users) Session management for page builder
Hi everybody,
We have a lot of legacy code making use of the page builder service to
produce web pages. These pages were originally written without session
management. I'm now busy adding session management to them, but there is
one problem with this approach and I will appreciate if someone can shed
some light on it. Here it is:
Page one is submitted.
Some validation (authentication) takes place and depending on the outcome,
either page 2A (SESSION_REQUIRED) or 2B (error page with
SESSION_UNSPECIFIED) must be displayed. In order to implement this, I
needed a place to make a decision. The way I've done it, is to pass a
'virtual page' (SESSION_UNSPECIFIED) to the page builder service. The
validation is done here and request.PageName is then replaced with the
PageName of pages 2A or 2B. The HandleRequest() method is then called
again. The problem is that the ValidateSession() method does not get
invoked again, thus allowing 2A through without a session. How do I make
sure that the ValidateSession() method get invoked again?
The approach making use of templates look to me as if it has all the means
to do this (redirect tag), but I don't want to rewrite everything if I
don't have to. Is there a way that a pagebuilder page can be specified by
the redirect tag? This will definitely help, but so far I've only managed
to call templates from the redirect tag.
Is the template approach better suited for session management? It is
definetely better documented...
Regards.
Jaco
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.sageit.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) Serialisation
Singh,
Any message sent across partition boundaries is serialized. This includes
method invokations, events and exceptions. The signature of the message
itself is serialized, as well as the values of all parameters/attributes.
Serializing a scalar value requires less overhead then serialising an
object, however, the difference isn't as big as you might think. Objects
have more attributes then just the value you're interested in and these
attributes are serialised as well. Each object is an instance of a class and
each class has a UUID, which is added to the serialized stream as well.
However, methods are NOT serialised. What happens is this. Forte serializes
an object into a stream containing only the values of the attributes
(including nested attributes). This stream is given a header which sais of
which class this object is an instance (the UUID is used for that). The
receiving partition reads the serialized stream, finds the definition of the
class (defined by UUID) in its own code, creates an instance of this class
and fills the data out of the serialized stream into this new object.
You can imagine what might happen if there is a mismatch between the
class-definitions in both partitions. You either get
serialization-deserialization errors, or the receiving partition complains
that it doesn't even know the UUID of the received streamed object, or you
get no errors at all and just have an object that displays different
behaviour, depending what partition it's in.
If there are no problems, then the main issue is the
serializing-deserializing overhead. Note that the receiving partition has to
instantiate a new object for every serialized object it receives and will
therefore execute all code in the Init() method. This overhead is not
required for scalar types, for which Forte only needs to reserve a small
amount of memory space on the stack.
Any call to a database is also a message sent across partitions and is
therefore serialized. However, one partition is a Forte partition and the
other one isn't. Therefore, Forte's internal serialization mechanism isn't
used. Forte serializes the SQL-query into a format understood by the
database (which is different for every vendor). Forte then receives a stream
back which has a different format for every different database type. This
stream is deserialized and written to attributes that Forte has reserved to
contain the data. Whether these are scalar, datavalues or domains only
impacts performance inside the Forte partition. It has no effect on the
communication with the database.
Pascal Rottier
Atos Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Singh [mailto:fortelistyahoo.com]
Sent: Thursday, February 22, 2001 3:30 AM
To: forte-userslists.xpedior.com
Subject: (forte-users) Serialisation
Hello All
I have a question that has been bugging me for some
time.
We all know that it is better to use scalar data
types, as opposed to objects, when passing data across
a network.
The reason, if I understand correctly, is that when
you send an object across a network, the whole object
(properties, attributes and methods) is deserialised
into zero's and one's before being sent across and
then serialised back into the object when it gets to
the other side. This would take longer for an object
since for a scalar value, just the value is
deserialised and serialised.
But when you are writing to a database from the tier
before the database to the database, does it matter
what type you use. The reason for saying this is that
the values are serialised before they go across and
then deserialised when they get to the base, in other
words, they are sent as zero's and one's. For a scalar
- just the value is sent across but for an object -
does just the value go across or the complete object.
If just the value of the object goes across, then it
doesn't really matter whether a scalar or object is
sent across.
Am I correct in this assumption.
Thanks in advance for your help.
Regards,
Singh
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comHi,
I cannot get hold of Tech Note 10398..... can anyone email me a copy?
Tx
Etienne
-----Original Message-----
From: Klerk, Theo de [SMTP:Theo.de.Klerkcompaq.com]
Sent: Wednesday, February 09, 2000 4:26 PM
To: 'Jason de Cean'; 'Forte Users'
Subject: RE: (forte-users) Serialisation
There are a number of flags that will show you some of the required
information in a log file (not within the application itself). Technote
10398 has many more flags listed for a variety of obscure, useful, not so
useful and exotic information:
trc:cm:*:4 and *:8 - show packet serialisation, open, closes between
partition communication
trc:do:*:2 - proxy creation/deletion, exception events
trc:do:*:5 - individual message tracing between proxies
trc:do:*:8 - serialisation information
Theo
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
RE: (forte-users) Class compatibility
Pascal,
Basically the way to work with objects as parameters is to ensure that
sending and receiving parties have the same knowledge of the underlying
classes of these objects.
o Partitions in one application, generated at distribution time always are
"in sync" with one another as they use the same class definitions specified
through the supplier plan relationships of the main project
o Applications distributed independently that exchanging objects only
understand the common set of class definitions.
For example, a Forte Conductor engine object is built using the standard
Forte Framework classes. Its API specifies things like "DataValue" objects.
Sending it a TextData is fine, sending it MyOwnTextData is not - the other
application has no clue what that (sub)class is supposed to be as it did not
know at the time it was built.
This is also true in cases where applications use libraries and these are
given objects of (sub)classes it knows nothing about.
All of these generate serialisation errors of some sort since the flattened
object that is sent across the wire cannot be reconstructed at the receiving
end by lack of a blueprint (class definition) on how to create such an
object.
Theo de Klerk
Architecture & Application Integration
Professional Services
Compaq Computer Corp. - the Netherlands
PGP Fingerprint: 5A70 DD56 F3BA FE04 9DCA 1ACE 8581 0A2F F057 FA6ETheo,
I understand all of that. Of course we make sure that all components use the
same blueprints for all classes. However, in case we managed to get these
blueprints out of sync, we don't want the application to simply crash. We
want to trap this exception and print a message that says: "There seems to
be a compatability problem between components. Please make sure the latest
version of all application components have been installed."
Of course we can trap all exceptions (GenericException) and ignore all of
them after displaying them, but that seems like a blunt-axe-approach. I'm
looking for the scalpel.
Pascal Rottier
Origin Nederland (BAS/West End User Computing)
Tel. +31 (0)10-2661223
Fax. +31 (0)10-2661199
E-mail: Pascal.Rottiernl.origin-it.com
++++++++++++++++++++++++++++
Philip Morris (Afd. MIS)
Tel. +31 (0)164-295149
Fax. +31 (0)164-294444
E-mail: Rottier.Pascalpmintl.ch
-----Original Message-----
From: Klerk, Theo de [mailto:Theo.de.Klerkcompaq.com]
Sent: Wednesday, October 18, 2000 5:15 PM
To: Rottier, Pascal; 'Forte Users'
Subject: RE: (forte-users) Class compatibility
Pascal,
Basically the way to work with objects as parameters is to ensure that
sending and receiving parties have the same knowledge of the underlying
classes of these objects.
o Partitions in one application, generated at distribution time always are
"in sync" with one another as they use the same class definitions specified
through the supplier plan relationships of the main project
o Applications distributed independently that exchanging objects only
understand the common set of class definitions.
For example, a Forte Conductor engine object is built using the standard
Forte Framework classes. Its API specifies things like "DataValue" objects.
Sending it a TextData is fine, sending it MyOwnTextData is not - the other
application has no clue what that (sub)class is supposed to be as it did not
know at the time it was built.
This is also true in cases where applications use libraries and these are
given objects of (sub)classes it knows nothing about.
All of these generate serialisation errors of some sort since the flattened
object that is sent across the wire cannot be reconstructed at the receiving
end by lack of a blueprint (class definition) on how to create such an
object.
Theo de Klerk
Architecture & Application Integration
Professional Services
Compaq Computer Corp. - the Netherlands
PGP Fingerprint: 5A70 DD56 F3BA FE04 9DCA 1ACE 8581 0A2F F057 FA6E
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
RE: forte-users-digest Digest V00 #185
Hi,
The only work around I can see to your problem is to convert the TIFF to
any other format that forte supports. You could use Microsoft's Image
Composer to do this. As far as I can see your requirement is runtime. I
would suggest using Windows imaging ( an image edit control, that is an
active-x control ). Use this control to perform a SaveAs operation on the
TIFF file to save it as a GIF and then use the converted GIF to place it in
your Forte Object. I know it works in C++ so it should surely work in
forte too. I don't have the documentation for the image edit control, but
Iam sure there are lot of similar controls out there . And make sure you
save the file in a format that supports mutiple page formats. ( i.e prefer
GIF to BMP when you convert)
Hope this Helps,
- Ravi Balakrishna
Automation Software Engineer
Intel Corporation.
-----Original Message-----
From: forte-users-digest-requestlists.xpedior.com
[SMTP:forte-users-digest-requestlists.xpedior.com]
Sent: Tuesday, May 16, 2000 3:05 PM
To: forte-users-digestlists.xpedior.com
Subject: forte-users-digest Digest V00 #185
forte-users-digest Digest Volume 00 : Issue
185
Today's Topics:
Tiff images again.....
Administrivia:
* BEFORE YOU ASK - please search the archives at:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive
* To unsubscribe, send in a new email the word 'Unsubscribe' to:
forte-users-digest-requestlists.xpedior.com
Date: Tue, 16 May 2000 11:07:25 -0400
From: "Jones, Gail A" <gail.joneseds.com>
To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
Subject: Tiff images again.....
Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
Content-Type: text/plain;
charset="iso-8859-1"
I need to place TIFF images in a Forte Object to display on a client
window.
Does anyone have any tips or code that you would be willing to share that
can help me do that. I checked with Forte the other day and found they do
not support the TIFF format.
Thanks much,
Gail Jones
EDS Medi-Cal
Sacramento, Ca.
End of forte-users-digest Digest V00 Issue #185Hi,
The only work around I can see to your problem is to convert the TIFF to
any other format that forte supports. You could use Microsoft's Image
Composer to do this. As far as I can see your requirement is runtime. I
would suggest using Windows imaging ( an image edit control, that is an
active-x control ). Use this control to perform a SaveAs operation on the
TIFF file to save it as a GIF and then use the converted GIF to place it in
your Forte Object. I know it works in C++ so it should surely work in
forte too. I don't have the documentation for the image edit control, but
Iam sure there are lot of similar controls out there . And make sure you
save the file in a format that supports mutiple page formats. ( i.e prefer
GIF to BMP when you convert)
Hope this Helps,
- Ravi Balakrishna
Automation Software Engineer
Intel Corporation.
-----Original Message-----
From: forte-users-digest-requestlists.xpedior.com
[SMTP:forte-users-digest-requestlists.xpedior.com]
Sent: Tuesday, May 16, 2000 3:05 PM
To: forte-users-digestlists.xpedior.com
Subject: forte-users-digest Digest V00 #185
forte-users-digest Digest Volume 00 : Issue
185
Today's Topics:
Tiff images again.....
Administrivia:
* BEFORE YOU ASK - please search the archives at:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive
* To unsubscribe, send in a new email the word 'Unsubscribe' to:
forte-users-digest-requestlists.xpedior.com
Date: Tue, 16 May 2000 11:07:25 -0400
From: "Jones, Gail A" <gail.joneseds.com>
To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
Subject: Tiff images again.....
Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
Content-Type: text/plain;
charset="iso-8859-1"
I need to place TIFF images in a Forte Object to display on a client
window.
Does anyone have any tips or code that you would be willing to share that
can help me do that. I checked with Forte the other day and found they do
not support the TIFF format.
Thanks much,
Gail Jones
EDS Medi-Cal
Sacramento, Ca.
End of forte-users-digest Digest V00 Issue #185 -
Dave
If you use #,##0.00 template, forte won't allow you to enter more than 28 numbers.
Nat
"Campbell, Dave" <DCampbellpurolator.com> 01/28 10:49 AM >>>Thanks Zenon,
You mean... that without the aftervaluechange event, I could catch this?
Because by no means is my exception block anchored to that event.
I am looking for advice of where I could put this exception block...if there
is another possible place at all.
Thanks.
Dave
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
-----Original Message-----
Hi Dave,
You have no chance to catch this exception in aftervaluechange block.
This event is triggered if the value in DataField is OK.
You get only Arithmetic exception without the aftervaluechange event if the
length of the decimal is greater as 28.
Regards
Zenon Adamek
Forte Developer
Purolator Courier Ltd.
ZAdamekpurolator.com
-----Original Message-----
From: Campbell, Dave [SMTP:DCampbellpurolator.com]
Sent: Friday, January 28, 2000 8:19 AM
To: 'kamranaminyahoo.com'
Subject: (forte-users) Overflow Exception that I can't
catch...
The problem is:
I have a DataField, mapped type :DecimalNullable
the input mask is set to Template ( #,##0;;;;)
Because it is Template I can't validate on keystroke and
I can't set the max characters in the properties sheet.
This works great until, Someone enters over 28 characters into the
field.
It then displays the errors:
USER ERROR: Operation caused arithmetic overflow
Class: qqsp_ArithmeticException
Error #: [301, 7]
Deteced at: DecimalData.SetScale at 1
ErrorTime: Thu Jan 27 15:50:48
Exception occurred (locally) on partition
"PurolatorApplications_CL0_Client" ,(partitionId =
DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7, TASKiD =
[DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7.492] in
application
"FTLaunch_c10",pid 279 on node W5300109 in environment centrale
This is the first bit of code that executes when I leave the field
and the
value has changed:
when <est_daily_rev_amt>.aftervaluechange do
Begin
sys_upd_usr_nam = aUserProfileBO.user_nam;
aCPVDetailItem.SetState(base_detailItem.CHANGED_STATE);
Exception
when ex:ArithmeticException Do
Task.ErrMgr.Clear();
Window.MessageDialog(
messageText='Revenue amount can not exceed
100,000,000',
MessageType=MT_WARNING);
Self.Window.PurgeEvents();
End;
This is what I do:
I put a debugging stop on the "when line" and the "Exception line"
I also set the debugger to stop on all exceptions and posts.
It never reaches the above code!?
Is this a forte bug?
I need the template and I need it to be a decimalnullable.
Is there any suggestions for where else I may catch this
Exception???
Thanks in advance
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.comDave
If you use #,##0.00 template, forte won't allow you to enter more than 28 numbers.
Nat
"Campbell, Dave" <DCampbellpurolator.com> 01/28 10:49 AM >>>Thanks Zenon,
You mean... that without the aftervaluechange event, I could catch this?
Because by no means is my exception block anchored to that event.
I am looking for advice of where I could put this exception block...if there
is another possible place at all.
Thanks.
Dave
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
-----Original Message-----
Hi Dave,
You have no chance to catch this exception in aftervaluechange block.
This event is triggered if the value in DataField is OK.
You get only Arithmetic exception without the aftervaluechange event if the
length of the decimal is greater as 28.
Regards
Zenon Adamek
Forte Developer
Purolator Courier Ltd.
ZAdamekpurolator.com
-----Original Message-----
From: Campbell, Dave [SMTP:DCampbellpurolator.com]
Sent: Friday, January 28, 2000 8:19 AM
To: 'kamranaminyahoo.com'
Subject: (forte-users) Overflow Exception that I can't
catch...
The problem is:
I have a DataField, mapped type :DecimalNullable
the input mask is set to Template ( #,##0;;;;)
Because it is Template I can't validate on keystroke and
I can't set the max characters in the properties sheet.
This works great until, Someone enters over 28 characters into the
field.
It then displays the errors:
USER ERROR: Operation caused arithmetic overflow
Class: qqsp_ArithmeticException
Error #: [301, 7]
Deteced at: DecimalData.SetScale at 1
ErrorTime: Thu Jan 27 15:50:48
Exception occurred (locally) on partition
"PurolatorApplications_CL0_Client" ,(partitionId =
DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7, TASKiD =
[DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7.492] in
application
"FTLaunch_c10",pid 279 on node W5300109 in environment centrale
This is the first bit of code that executes when I leave the field
and the
value has changed:
when <est_daily_rev_amt>.aftervaluechange do
Begin
sys_upd_usr_nam = aUserProfileBO.user_nam;
aCPVDetailItem.SetState(base_detailItem.CHANGED_STATE);
Exception
when ex:ArithmeticException Do
Task.ErrMgr.Clear();
Window.MessageDialog(
messageText='Revenue amount can not exceed
100,000,000',
MessageType=MT_WARNING);
Self.Window.PurgeEvents();
End;
This is what I do:
I put a debugging stop on the "when line" and the "Exception line"
I also set the debugger to stop on all exceptions and posts.
It never reaches the above code!?
Is this a forte bug?
I need the template and I need it to be a decimalnullable.
Is there any suggestions for where else I may catch this
Exception???
Thanks in advance
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
Nat,
As I feared, This forces the user to enter decimals even if there are none.
The Users Don't want this.
So, i'm afraid i am back at beginning.. Trying to catch this exception..
Thank you for your input.
I would be happy to try anyone elses solution to this annoying issue.
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
Dave
If you use #,##0.00 template, forte won't allow you to enter more than
28 numbers.
Nat
"Campbell, Dave" <DCampbellpurolator.com> 01/28 10:49 AM >>>Thanks Zenon,
You mean... that without the aftervaluechange event, I could catch this?
Because by no means is my exception block anchored to that event.
I am looking for advice of where I could put this exception block...if there
is another possible place at all.
Thanks.
Dave
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
-----Original Message-----
Hi Dave,
You have no chance to catch this exception in aftervaluechange block.
This event is triggered if the value in DataField is OK.
You get only Arithmetic exception without the aftervaluechange event if the
length of the decimal is greater as 28.
Regards
Zenon Adamek
Forte Developer
Purolator Courier Ltd.
ZAdamekpurolator.com
-----Original Message-----
From: Campbell, Dave [SMTP:DCampbellpurolator.com]
Sent: Friday, January 28, 2000 8:19 AM
To: 'kamranaminyahoo.com'
Subject: (forte-users) Overflow Exception that I can't
catch...
The problem is:
I have a DataField, mapped type :DecimalNullable
the input mask is set to Template ( #,##0;;;;)
Because it is Template I can't validate on keystroke and
I can't set the max characters in the properties sheet.
This works great until, Someone enters over 28 characters into the
field.
It then displays the errors:
USER ERROR: Operation caused arithmetic overflow
Class: qqsp_ArithmeticException
Error #: [301, 7]
Deteced at: DecimalData.SetScale at 1
ErrorTime: Thu Jan 27 15:50:48
Exception occurred (locally) on partition
"PurolatorApplications_CL0_Client" ,(partitionId =
DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7, TASKiD =
[DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7.492] in
application
"FTLaunch_c10",pid 279 on node W5300109 in environment centrale
This is the first bit of code that executes when I leave the field
and the
value has changed:
when <est_daily_rev_amt>.aftervaluechange do
Begin
sys_upd_usr_nam = aUserProfileBO.user_nam;
aCPVDetailItem.SetState(base_detailItem.CHANGED_STATE);
Exception
when ex:ArithmeticException Do
Task.ErrMgr.Clear();
Window.MessageDialog(
messageText='Revenue amount can not exceed
100,000,000',
MessageType=MT_WARNING);
Self.Window.PurgeEvents();
End;
This is what I do:
I put a debugging stop on the "when line" and the "Exception line"
I also set the debugger to stop on all exceptions and posts.
It never reaches the above code!?
Is this a forte bug?
I need the template and I need it to be a decimalnullable.
Is there any suggestions for where else I may catch this
Exception???
Thanks in advance
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.comNat,
As I feared, This forces the user to enter decimals even if there are none.
The Users Don't want this.
So, i'm afraid i am back at beginning.. Trying to catch this exception..
Thank you for your input.
I would be happy to try anyone elses solution to this annoying issue.
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
Dave
If you use #,##0.00 template, forte won't allow you to enter more than
28 numbers.
Nat
"Campbell, Dave" <DCampbellpurolator.com> 01/28 10:49 AM >>>Thanks Zenon,
You mean... that without the aftervaluechange event, I could catch this?
Because by no means is my exception block anchored to that event.
I am looking for advice of where I could put this exception block...if there
is another possible place at all.
Thanks.
Dave
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
-----Original Message-----
Hi Dave,
You have no chance to catch this exception in aftervaluechange block.
This event is triggered if the value in DataField is OK.
You get only Arithmetic exception without the aftervaluechange event if the
length of the decimal is greater as 28.
Regards
Zenon Adamek
Forte Developer
Purolator Courier Ltd.
ZAdamekpurolator.com
-----Original Message-----
From: Campbell, Dave [SMTP:DCampbellpurolator.com]
Sent: Friday, January 28, 2000 8:19 AM
To: 'kamranaminyahoo.com'
Subject: (forte-users) Overflow Exception that I can't
catch...
The problem is:
I have a DataField, mapped type :DecimalNullable
the input mask is set to Template ( #,##0;;;;)
Because it is Template I can't validate on keystroke and
I can't set the max characters in the properties sheet.
This works great until, Someone enters over 28 characters into the
field.
It then displays the errors:
USER ERROR: Operation caused arithmetic overflow
Class: qqsp_ArithmeticException
Error #: [301, 7]
Deteced at: DecimalData.SetScale at 1
ErrorTime: Thu Jan 27 15:50:48
Exception occurred (locally) on partition
"PurolatorApplications_CL0_Client" ,(partitionId =
DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7, TASKiD =
[DEB96B60-AA27-11D1-82A8-23E82A0FAA77:0X6f98:0x7.492] in
application
"FTLaunch_c10",pid 279 on node W5300109 in environment centrale
This is the first bit of code that executes when I leave the field
and the
value has changed:
when <est_daily_rev_amt>.aftervaluechange do
Begin
sys_upd_usr_nam = aUserProfileBO.user_nam;
aCPVDetailItem.SetState(base_detailItem.CHANGED_STATE);
Exception
when ex:ArithmeticException Do
Task.ErrMgr.Clear();
Window.MessageDialog(
messageText='Revenue amount can not exceed
100,000,000',
MessageType=MT_WARNING);
Self.Window.PurgeEvents();
End;
This is what I do:
I put a debugging stop on the "when line" and the "Exception line"
I also set the debugger to stop on all exceptions and posts.
It never reaches the above code!?
Is this a forte bug?
I need the template and I need it to be a decimalnullable.
Is there any suggestions for where else I may catch this
Exception???
Thanks in advance
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com
Regards,
Dave Campbell
Consultant,
Caro Systems Inc.
Mailto:Dave.CampbellCaroSys.com -
Re: (forte-users) Formatting DecimaNullable withTemplate
Hello Fabrizio,
i don't look at your window, but we has the problem to check the input of a
DecimalData
with a specific mask. If the user type in wrong data (prescale/sucscale)
then we have
to inform the user and discard the changes.
E.g. template='##,##'
User types 5,123 Exception (Too many sucscale)
User types -5,12 Exception (no Minus allowed)
User types 123, Exception (Too many prescale)
User types 12,12 No Exception (Value is accepted)
User types 12,12+ No Exception (Value is accepted)
The template check is implemented in the FillString/SetValue method of an
inherited DecimalNullable-Class. I am wondering, if it is not possible to
find a way
reacting on your behaviour. You use a Domain.
1. You have to implement the SetValue/Fillstring method for this domain.
2. You must turn on KeyStroke reacting.
3. You have to implement an EventHandler for reacting on the input which must
be registered on your Display-based Event-Loop.
4. MayBe som Code must be called from your Domain-Class on AfterValueChange
Event
at your Domain.
A lot of work, i know. Maybe a lot of code for every Domain-Use in your
Event-Loop. We
made an Enhancement-Request for our problem, but there ar no solution now
(2 years).
The next problem you may have, if you use many attributes in your Domain.
Because
the transport (Serialize/Deserialize/Allocation) eats a lot of Performance.
Direct filling from Database maybe a risk (SetValue-method with Parameter
string).
You have to check if you fill your class from implizit methods
(GetValue-Method from
DBDataSet) and so on that no code will running (Performance).
Good Luck
Joseph Mirwald
PS: Use Decode-Method if possible instead of own implementation of
string-manipulation
because Framework-Lib-Calls ar much mor performant.
At 11:19 17.02.01 +0100, Genesio, Fabrizio wrote:
Hallo there,
I wonder if there is someone who ever tried to obtain the following
behavior.
Using a user-defined domain based on a DecimalNullable, we would like to
set the input mask (and/or its template) in order to have the widget
behaving like a normal desk or pocket calculator. That is when start
typing, you enter the integer part of the number (with thousand
separator), and only when the dot is entered, you can type in the
decimal part.
We tried different templates but we never got what we want. Moreover,
using 3.0.N.0 we also discovered a bug while using as first character
in the template.
Enclosed there is a little test window.
Is there anybody who could help?
Thank you in advance for your attention
Ciao,
Fabrizio Genesio
Datasign AG für Informatik
fabrizio.genesiodatasign.ch <mailto:fabrizio.genesiodatasign.ch>
<<Atest.zip>>Thank you Joseph and thank you Zenon, for your answers.
Yes, we tried with domain, implementing the FillString/Setvalue methods,
and using the Decode method. And indeed is the decode method that always
(no matter which regional settings you have) round the decimal part to 2
digit.
Nonetheless, I would be interested to receive if possible the domain you
implemented, Joseph. We may still discover something... ;-)
Thank you
Fabrizio Genesio
Datasign AG für Informatik
ch. d'Eysins 53a
CH-1260 Nyon
Switzerland
Tel.: +41 22 361 04 04
Fax: +41 22 361 01 10
e-mail: fabrizio.genesiodatasign.ch
<mailto:fabrizio.genesiodatasign.ch>
URL: www.datasign.ch <http://www.datasign.ch>
-----Original Message-----
From: Joseph Mirwald [SMTP:jomirweb.de]
Sent: Saturday, 17 February 2001 12:32
To: Genesio, Fabrizio; 'forte-userslists.xpedior.com'
Subject: Re: (forte-users) Formatting DecimaNullable with
Template
Hello Fabrizio,
i don't look at your window, but we has the problem to check the
input of a
DecimalData
with a specific mask. If the user type in wrong data
(prescale/sucscale)
then we have
to inform the user and discard the changes.
E.g. template='##,##'
User types 5,123 Exception (Too many sucscale)
User types -5,12 Exception (no Minus allowed)
User types 123, Exception (Too many prescale)
User types 12,12 No Exception (Value is
accepted)
User types 12,12+ No Exception (Value is
accepted)
The template check is implemented in the FillString/SetValue
method of an
inherited DecimalNullable-Class. I am wondering, if it is not
possible to
find a way
reacting on your behaviour. You use a Domain.
1. You have to implement the SetValue/Fillstring method for this
domain.
2. You must turn on KeyStroke reacting.
3. You have to implement an EventHandler for reacting on the
input which must
be registered on your Display-based Event-Loop.
4. MayBe som Code must be called from your Domain-Class on
AfterValueChange
Event
at your Domain.
A lot of work, i know. Maybe a lot of code for every Domain-Use
in your
Event-Loop. We
made an Enhancement-Request for our problem, but there ar no
solution now
(2 years).
The next problem you may have, if you use many attributes in
your Domain.
Because
the transport (Serialize/Deserialize/Allocation) eats a lot of
Performance.
Direct filling from Database maybe a risk (SetValue-method with
Parameter
string).
You have to check if you fill your class from implizit methods
(GetValue-Method from
DBDataSet) and so on that no code will running (Performance).
Good Luck
Joseph Mirwald
PS: Use Decode-Method if possible instead of own implementation
of
string-manipulation
because Framework-Lib-Calls ar much mor performant.
At 11:19 17.02.01 +0100, Genesio, Fabrizio wrote:
>Hallo there,
>
>I wonder if there is someone who ever tried to obtain the
following
>behavior.
>Using a user-defined domain based on a DecimalNullable, we
would like to
>set the input mask (and/or its template) in order to have the
widget
>behaving like a normal desk or pocket calculator. That is when
start
>typing, you enter the integer part of the number (with thousand
>separator), and only when the dot is entered, you can type in
the
>decimal part.
>
>We tried different templates but we never got what we want.
Moreover,
>using 3.0.N.0 we also discovered a bug while using as first
character
>in the template.
>
>Enclosed there is a little test window.
>
>Is there anybody who could help?
>
>Thank you in advance for your attention
>
>Ciao,
>
>Fabrizio Genesio
>Datasign AG für Informatik
>fabrizio.genesiodatasign.ch
<mailto:fabrizio.genesiodatasign.ch>
>
> <<Atest.zip>>
Maybe you are looking for
-
Installing Jdeveloper 11g on MAC OS 10.4.11?
Has anyone successfully installed Jdeveloper 11g on MAC OS 10.4.11? I've found examples Jdeveloper 11g on MAC OS 10.5 but nothing on 10.4.11.
-
Passing dynamic internal table into ALV
I have made one ALV report where i had created one button 'GENERATE'. ON CLICKING THIS BUTTON the data in the ALV report is downloaded to excel file. i have used this:- CALL METHOD cl_gui_frontend_services=>file_save_dialog EXPORTING windo
-
Non-standard fonts in JOptionPane
I have looked extensively through this forum, and no one has answered this specific question, even though it has been asked several different ways. Maybe someone has an answer now. I am writing a client app using Java 1.4.2_02 that needs to display m
-
Very Urgent..How to create a report Using SQ01 and Sq02.
Hi Friends, It's very urgent.pl help me in generating a report using SQ01 and SQ02. Help is appreciated. thanks In advance. Regards, Nanditha.
-
How to properly reference libraries when building executable
Hi guys, So I've been working on porting a VI developed on 2009 Labview on Windows over to 8.2 on Linux. Initially I was having some problems because the program seem to have broken after the port but we realized it was some compatiblity with the TCP