How to set units when creating paths with a script?

I'm trying to update a script that used to work in Photoshop CS4 but which seems to completely ignore the units I'm using in Cloud.  The script below should create a path layer with two lines that form an X across the entire document. 
To test, I'm creating a new page that's 8.5 x 11 inches and 300 DPI.  I then run the script.  However, the the shape that is produced is huge and most of it is offscreen.  What am I doing wrong?
function Point(x, y)
          this.x = x;
          this.y = y;
function addVertexCorner(lineArray, x, y)
          var p0Info = new PathPointInfo();
          lineArray.push(p0Info);
          p0Info.kind = PointKind.CORNERPOINT;
          p0Info.anchor = new Array(x, y);
          p0Info.leftDirection = p0Info.anchor;
          p0Info.rightDirection = p0Info.anchor;
function appendLine(p0, p1, lineSubPathArray)
          var lineArray = new Array();
          addVertexCorner(lineArray, p0.x, p0.y);
          addVertexCorner(lineArray, p1.x, p1.y);
          var pathInfo = new SubPathInfo();
          lineSubPathArray.push(pathInfo);
          pathInfo.operation = ShapeOperation.SHAPEADD;
          pathInfo.closed = false;
          pathInfo.entireSubPath = lineArray;
function createPathLayer(title, subPathArray)
          var docRef = app.activeDocument;
          var originalUnit = app.preferences.rulerUnits;
          app.preferences.rulerUnits = Units.PIXELS;
          var myPathItem = docRef.pathItems.add(title, subPathArray);
          app.preferences.rulerUnits = originalUnit;
var docRef = app.activeDocument;
var imgWidth = docRef.width.as("px");
var imgHeight = docRef.height.as("px");
var p00 = new Point(0, 0);
var p10 = new Point(imgWidth, 0);
var p01 = new Point(0, imgHeight);
var p11 = new Point(imgWidth, imgHeight);
var lineSubPathArray = new Array();
appendLine(p00, p11, lineSubPathArray);
appendLine(p01, p10, lineSubPathArray);
createPathLayer("Big X", lineSubPathArray);

I did, andd while that did help to center the image on the page, now all my measurements are coming out about 4 times too small.  I'm also worried that changing the resolution might cause the image to lose some data due to resizing.
What exactly does changing the resolution do?  Why does this center things?  How can I calculate points so that they exactly touch the edge of the document?

Similar Messages

  • [WLST] how to set targets when creating a queue

    Hi all,
    I'm using WLS 10 and this is my WLST script:
    def createUniformDistributedQueue(destinationName, jndiDestination, jmsModuleName, managedServers):
    print '#### ready to create ' + destinationName
    path = '/JMSSystemResources/' + jmsModuleName + '/JMSResource/' + jmsModuleName + '/UniformDistributedQueues'
    cd(path)
    cmo.createUniformDistributedQueue(destinationName)
    #until here all is ok, but next I got an error ... managedServers is a list containing bnk01alm01,bnk01alm02 string values
    cmo.setTargets(managedServers)
    # from here it should be ok
    cd('/JMSSystemResources/' + jmsModuleName + '/JMSResource/' + jmsModuleName + '/UniformDistributedQueues/' + destinationName)
    set('Name', destinationName)
    set('JNDIName', jndiDestination)
    print '#### created ' + destinationName
    print
    I'm trying to find out what is the correct API to set the targets !!!!
    I'm navigating through the http://e-docs.bea.com/wls/docs100/config_scripting/using_WLST.html and trying in different ways but I'm not able to find out the correct way.
    Thanks!!!
    Regards
    ferp

    I did, andd while that did help to center the image on the page, now all my measurements are coming out about 4 times too small.  I'm also worried that changing the resolution might cause the image to lose some data due to resizing.
    What exactly does changing the resolution do?  Why does this center things?  How can I calculate points so that they exactly touch the edge of the document?

  • How to set privillages for created user with iSQL *Plus

    The hosting company has provided ISQL * Plus interface. I have created user by using the following command:
    Create user test identified by test;
    Grant connect, resource to test;
    But I am unable to load or import data into db. How can I import/load data as its giving permission denied message.
    I think there is a lack of imp/loading data grants. Who do I set?
    Thanks & best regards
    Message was edited by:
    Raakh

    1. which version of the database ?iSQL *Plus 10.2.0.1.0
    2. how you are trying/want to import/load data ?from online control pannel I am selecting the Load Data option and processing 7 steps. message appears "Successfully Loaded" but when am seeing log file its given me
    Step: Load
    Page Refreshed Jun 7, 2007 6:38:47 AM
    Status Succeeded
    Targets orcl
    Started Jun 7, 2007 6:38:11 AM GMT-04:00
    Ended Jun 7, 2007 6:38:11 AM GMT-04:00
    Elapsed Time 0 seconds
    Output Log
    Username:SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12546: TNS:permission denied
    SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jun 7 06:38:11 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Message was edited by:
    Raakh

  • How to i add an image path with spry data set

    hi
    how to i add an image path with spry data set. I made a xml file and then created a data set in html but image won't load
    this is my XML
    <?xml version="1.0" encoding="UTF-8"?>
    <banner width = "185" height = "400">
        <item>
            <image scr = "nui-panforte-recipe_01.jpg" ></image>
            <description>CHOC-COCONUT PANFORTE</description>      
            <text1>Try this delicious GLUTEN FREE Christmas treat</text1>
            <text2>CHOC-COCONUT PANFORTE</text2>
        </item>
    </banner>
    this is my HTML
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script src="../../SpryAssets/xpath.js" type="text/javascript"></script>
    <script src="../../SpryAssets/SpryData.js" type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    var ds1 = new Spry.Data.XMLDataSet("recipe_banner.xml", "banner/item");
    //-->
    </script>
    </head>
    <body>
    <div spry:region="ds1">
      <table>
        <tr spry:repeat="ds1">
          <td>{image}</td>
          <td>{description}</td>
          <td>{text1}</td>
          <td>{text2}</td>
          <td>{text3}</td>
          <td>{text4}</td>
          <td>{link}</td>
          <td>{url}</td>
          <td>{target}</td>
        </tr>
      </table>
    </div>
    </body>
    </html>

    It would be helpfull if you actually created an <img> tag to start with
    <img src="{image/@src}" />
    would work.

  • Insufficient privileges when creating MV with alter session set current_sch

    I am getting Insufficient privileges when creating MV with alter session set current_schema=Application schema name. User running the alter session is DBA user. If run as SYSDBA, MV is created successfully. DB Version is 10.2.0.3
    I observed similiar issue with regular View also in 9.2.0.6 also.
    Any advice is greatly appreciated.
    Thanks,
    Siva

    Sounds like your management needs a stern lecture on the concept of change management. <g>
    I am not debating what you do. I am questioning the logic, or lack thereof, of doing it that way. My recommendation would be to change your procedure to one that:
    A. Is more in line with good change management practices.
    B. Works.

  • How do I...Mimic Replacement Path with Query using Customer Variable Exits?

    Hello SDN:
    We are on BW 3.5 SP16.
    We are currently using a replacement path Query(RP) with variables
    to populate a variable in another Query(T).
    The problem we are having is with performance.
    The entry of variables in replacement path Query(RP) is optional (This is necessary there cannot be required values)
    When results from Replacement Path Query are small performance is fine. (e.g. 10 seconds)
    When results from Replacement path query are large performance suffers. (e.g. 1+ minutes)
    Users are free to leave the replacement path variables empty resulting in a large set of data to be replaced. This is the worst performance case.
    We would like to discover a way to conditionally execute the replacement path query. That is if users do not enter values for the replacement Query(RP) variables do not execute the replacement path query(RP).
    Does anyone know if this is possible within reason and in customer exit space?
    We have reviewed the situation from all angles and the requirement for the replacement path FUNCTIONALITY and the freedom for the user to leave variable values blank remains.
    I've been searching and reading SDN and SAP notes for about a week and do not find threads which address this situation.
    We are also exploring Customer variable exits to mimic replacement path functionality
    (different topic subject="How do I...Mimic Replacement Path with Query using Customer Variable Exits?")
    Any help will be appreciated
    Many thanks
    David Schuh

    My appologies-I posted this message with the wrong subject. I will repost it with appropriate subject.
    dave schuh

  • Muse: How to set up a bilingual site with 2 different navigation bars?

    Hi,
    I would like to create a website in 2 languages, desktop and mobile version. The structure of the page remains the same for each language. How should I create the site so that I get one navigation bar for the first language and a second one for the other language? Is it feasible in Muse?
    Thanks for any hint in advance.
    Regards,
    christine

    Hi Christine,
    Some related threads,
    Muse: Multilingual site?
    How can i create a multilingual website?
    how to set up a multilingual website with Adobe Muse and push it live to Adobe Business Catalyst
    Do let me know if you have any question.

  • Field not set: ParentEPSObjectId when creating Project.

    Hi everyone,
    I'm developing .net application and getting data from primavera by using p6 web service. At the moment I stuck on project creation. I'm using following code to create a new project:
    Public Function CreateOneProject(pProjectName As String, pProjectId As String, pParentEpsObjectId As Integer, pPlannedStart As Date, pPlannedFinish As Date, pParentOBSObjectId As Integer) As Integer
         Dim vNewProject As Project()
         vNewProject = New Project(0) {}
         Dim vProject As New Project()
         vProject.Name = pProjectName
         vProject.Id = pProjectId
         vProject.ParentEPSObjectId = pParentEpsObjectId
         vProject.StartDate = pPlannedStart
         vProject.FinishDate = pPlannedFinish
         vProject.OBSObjectId = pParentOBSObjectId
         vNewProject(0) = vProject
         Dim retVal As Integer() = gProjectService.CreateProjects(vNewProject)
         Return retVal(0)
    End Function
    And getting error message: Field not set:ParentEPSObjectId when creating Project.
    EPS Object ID i'm selecting from lookup. In this lookup datasource I have following fields from ReadEPS: ObjectId, Name, Id, ParentObjectID.
    As I understood, I should to get ObjectID of selected EPS and to set as parameter in CreateOneProject function. But it's not working.
    Could someone help me?
    Best regards,
    Dmitrij

    I found what was the problem.
    Did not specify following field: ParentEPSObjectIdSpecified = true. With this field I can save.

  • Error when creating PO with reference to PR

    Hello Expert,
    When creating PO with reference to PR I encountered with one error i.e. system is taking into consideration one to one relation of PR line item to PO line item. For example: I have created PR with one line item for XYZ value and with reference to PR line item I am creating one PO but with two line items in PO that means I am splitting PR value into two line items in PO, 1st line item with zero tax and second one is with tax.
    So there is one PR line item but in PO I am creating two line items with reference to single PR item. In this case system is giving error saying Item 001 WBS element XXXXXXXXXX budget exceeded. message no: BP604. However if I create single line item in PO then it wont give any error.
    Please suggest any customization setting is done for such kind of behavior of the system.
    Thanks
    Shyam

    Hi,
    SAP creates the requisition with item category "U" even in case of cross-company (intercompany) purchase requisition.
    When converting it to PO the item category becomes blank - as I tried and I got no error message.
    Please check your settings under SPRO > MM > Purchasing > Purchase Order > Define Document Types (V_T161). You will see (if standard settings have not been changed) that NB requisition type with "U" item category is allowed for NB purchase order type with " " (empty) item category.
    Regards,
    Csaba

  • How to restore my ipad?My ipad say on screen CONNECT TO ITUNE.How can i do when i connect with computer.It is need itune new version.Can you sent me.I will be waiting your answer.Please help me sir.

    How to restore my ipad?My ipad say on screen CONNECT TO ITUNE.How can i do when i connect with computer.It is need itune new version.Can you sent me.I will be waiting your answer.Please help me sir.

    Check for Updates.
    http://i1224.photobucket.com/albums/ee374/Diavonex/Album%208/78d42b19fa42e8d83b5 5a65e1333373f_zpsf58bbe10.jpg

  • Problem when creating Database with Database, OS and hardware Configuraiton

    Problem when creating Database:
    There are two problems, which I faced during creation of database. When creating database with Oracle Database Assistant. One when creating pre tuned database from CD. And second when creating customized database giving options your self.
    Problem # 1:
    When creating pre tuned database from CD. The process of creating Database is 90 % complete and is at step # 3 Initializing Database. It gives error ORA-03113: end-of-file on communication channel.
    I searched following oracle help for this problem.
    ORA-03113: end-of-file on communication channel
    Cause: An unexpected end-of-file was processed on the communication channel. The problem could not be handled by the Net8, two-task software. This message could occur if the shadow two-task process associated with a Net8 connect has terminated abnormally, or if there is a physical failure of the interprocess communication vehicle, that is, the network or server machine went down.
    Action: If this message occurs during a connection attempt, check the setup files for the appropriate Net8 driver and confirm Net8 software is correctly installed on the server. If the message occurs after a connection is well established, and the error is not due to a physical failure, check if a trace file was generated on the server at failure time. Existence of a trace file may suggest an Oracle internal error that requires the assistance of customer support.
    Conclusion:
    What I conceive from this problem and the help available is that, I have to install NET8 again. But I am not sure about the solution, please tell me whether I am rite or not.
    Problem # 2:
    When creating database with custom option. The process of creating Database is 2 % complete and is at step # 2 Creating Database Files. It gives error ORA-12571: TNS:packet writer failure.
    I searched following oracle help for this problem.
    ORA-12571: TNS:packet writer failure
    Cause: An error occurred during a data send.
    Action: Not normally visible to the user. For further details, turn on tracing and re-execute the operation. If error persists, contact Worldwide Customer Support.
    Conclusion:
    What I conceive from this problem and the help available is that, I have to install NET8 again. But I am not sure about the solution, please tell me whether I am rite or not.
    Software & Hardware Configuration are as follow:
    Software:
    Database
    Oracle 8.1.7.0.0 (Oracle8i)
    Operating System
    Microsoft Windows 2000
    5.00.2195
    Service Pack 2
    Hardware:
    x86 Family 6 Model 8 stepping
    10
    AT/AT COMPITABLE
    260,400 KB RAM

    user563502 wrote:
    I am working on Solaris 8. What is Alert_SID.log? where can I find it?
    ThanksFor the responsible of the upgrade of Oracle database, not even know what Alert log is?
    to be honest with you, this is not your work.

  • How to Set JFilechooser to show file with the same extension in the filetyp

    How to Set JFilechooser to show file with the same extension in the filetypes??
    help

    I also don't understand, but if you mean how to display only files with a certain extension in your JFileChooser then you should have a look at the JFileChooser API:
    http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFileChooser.html
    The introduction shows an example of how to do that.

  • Primary key when creating reports with forms

    I'm new to APEX and I'm creating a report with forms using the wizard. I've checked the 'Include Analysis Pages' checkbox. When I select the 'add pages' button I get the following message:
    Table has no primary keys defined. A primary key is required when creating reports with forms.
    I know that the table does have a primary key because I defined it and also it is visible in the Sql workshop / Object browser and Toad.
    Am I missing something or is this some sort of bug?
    thanks
    sb

    You're missing something. This message means you've not told APEX what the primary key is. You shouldn't have been able to get passed the page in the wizard that asks for it though. Can't describe where it prompts for it from memory, but it shouldn't be hard to find.
    HTH
    Chris.

  • How to set up iOS calendar app with shared Google Calendar data

    At work (in our small office) I've been given access to the shared Google Calendar that has our work schedule. It was set up using this page (click on Share an existing calendar):
    https://support.google.com/calendar/answer/37082
    The question I have is how to set it up to work with iOS calendar app on my iPhone?

    "currently there is no shared group calendar support."
    Well, not really. You hinted at it with: "set up a group wiki."
    Go into Workgroup Manager and set up an Open Directory group. Add people to it.
    Each client must then go into iCal --> Preferences --> Accounts and add an account. The name and password entered must be the same as that added to the group, Kerberos must be unchecked, and the account URL will be like (fill in the blanks properly):
    http://<your domain name here>:8008/principals/groups/<your group name here>/
    Now each properly logged in user of that group can make changes to the shared group calendar, without any "hacks" like making dummy users and delegation.
    However, I am getting a notifier: "Request Error: Accesss to <event name> in <your group name here> in account <your group name here> is not permitted." But that seems to be a lie, since multiple members of the group can make changes and others can see the changes.
    Oh yea, make sure you have a functioning DNS with valid reverse lookup.
    Message was edited by: Bytesmiths

  • How to create path with arrowhead?

    Hello. I have a document with a single path in it. How can I apply arrowhead efect to this path? I tried using Beautiful strokes suite, but was only able to get arrowhead from existing path. How can I get one if there is no path with arrowheads in the document?

    Yeah, it's really not obvious at all how to do this.
    The key is to use the AIBeautifulStrokesSuite. The steps are as follows:
    Get the art style of the path (AIArtStyleSuite::GetArtStyle()).
    Parse the style (AIArtStyleParserSuite::NewParser(), ParseStyle()).
    Get the focus stroke (AIArtStyleParserSuite::GetFocusStroke), which gets you an AIParserPaintField.
    Populate the AIParserPaintField into a CPaintField (see below for code)
    Use AIBeautifulStrokesSuite::SetArrowheadOptions, and pass CPaintField::GetEffectsDictionary() to the first parameter.
    Call CPaintField::Save().
    Create a new art style (AIArtStyleParserSuite::CreateNewStyle()).
    Apply the style to the path (AIArtStyleSuite::SetArtStyle()).
    Dispose of the parser (AIArtStyleParserSuite::DisposeParser()).
    Note that I was only interested in the 'main' stroke so I used the focus stroke (which in 99% of cases will be the only stroke). If you want to handle multiple strokes, you can iterate over all the paint fields in the style by calling AIArtStyleParserSuite::CountPaintFields() on your parser after parsing the style. You just have to test each one to see if its a stroke or a fill, since obviously you can't apply arrowheads to fills!
    The arrow head itself is set by passing in an AIPatternHandle, which is the handle to a symbol. You can set the start or end, and the other parameters are just the scale to use for the symbols and the alignment of the arrowheads (ArrowTipAlignment, found in AIBeautifulStrokes.h). The standard arrowheads are stored in an AI file in found in Support Files\Required\Resources\en_US (or whatever your language is). You get the path to this folder at runtime using AIFolders::FindFolder() and passing it kAIRequiredLocalizedResourcesFolderType. The filename is Arrowheads.ai.
    If you want to read the AI file as a library, you need to use AIPathStyleSuite::ImportStyles(). You pass it the path to the AI file and it will give you an AIDocumentHandle in return. You can use this handle with methods like AISymbolSuite::GetNthSymbolPatternFromDocument(). Just be sure to retarget anything you load for your current document; to do that, you use AISymbolSuite::RetargetForCurrentDocument(). If you don't retarget the style, you'll add a reference to art that doesn't exist in your document and when you close Illustrator, it will crash (because it will try to free up the symbol twice, once for your document & once for the library you loaded, but it only existed once!).
    CPaintField is a little utility class I created that basically wraps some code I was given by Adobe, so I'm happy to share it. Its useful whenever you're dealing with AIBeautifulStrokesSuite type stuff. THROW_EXCEP_IF() is a macro we use that checks error to see if its kNoErr, and if its not, we throw an exception. You can replace that with your own error checking, or just remove them, as you wish
    class CPaintField {
    public:
      CPaintField(AIParserPaintField& paintField);
      virtual ~CPaintField();
      AIDictionaryRef GetEffectsDictionary() const;
      void Save();
    private:
      ai::Ref<AIDictionaryRef> m_effectsDictionary;
      ai::Ref<AILiveEffectParameters> m_newEffectParams;
      AIParserPaintField& m_paintField;
      AILiveEffectHandle m_paintFieldEffect;
    CPaintField::CPaintField(AIParserPaintField& paintField) : m_paintField(paintField), m_paintFieldEffect(0)
      ai::Ref<AIDictionaryRef> oldBSDict;
      AILiveEffectParameters oldEffectParams = 0;
      AIErr error = sArtStyleParser->GetPaintLiveEffectInfo(paintField, &m_paintFieldEffect, &oldEffectParams);
      THROW_EXCEP_IF(error);
      bool acceptsBSOptions = true;
      if (oldEffectParams) {
        // If an old effect parameters dictionary already exists then we need to clone it,
        // so that the modifications will be done to a new art style, not to the old one.
        // We don’t do this until we discover whether or not the object will accept
        // Beautiful Strokes, though, because it may be that we are not modifying anything.
        acceptsBSOptions = true;
        AIErr error = sBeautifulStrokes->GetParamsDict(oldEffectParams, *(oldBSDict << ai::Replace));
        THROW_EXCEP_IF(error);
        if (acceptsBSOptions) {
          // Create an empty effect params dict
          AIErr error = sLiveEffect->CreateLiveEffectParameters( m_newEffectParams << ai::Replace );
          THROW_EXCEP_IF(error);
          // Clone all the contents of the oldEffectParams into the newEffectParams
          AIErr error = sDictionary->Copy(m_newEffectParams, oldEffectParams);
          THROW_EXCEP_IF(error);
      } else {
        // If there are no oldEffectParams, then the stroke can accept Beautiful Stroke options,
        // but we will have to convert it into an active style first. We do this by creating
        // a live effect param dictionary, and attaching it to the focalStroke. 
        AIErr error = sLiveEffect->CreateLiveEffectParameters(m_newEffectParams << ai::Replace);
        THROW_EXCEP_IF(error);
        AIStrokeStyle strokeStyle;
        AIArtStylePaintData paintData;
        AIErr error = sArtStyleParser->GetStroke(paintField, &strokeStyle, &paintData);
        THROW_EXCEP_IF(error);
        // It is also necessary to transfer the StrokeStyle into the effect params dictionary
        // ourselves, because AIArtStyleParser doesn’t do so for us.
        AIErr error = sDictionary->Set(m_newEffectParams, sDictionary->Key(kStrokeStyleKey), sEntry->FromStrokeStyle(&strokeStyle));
        THROW_EXCEP_IF(error);
      if (m_newEffectParams && acceptsBSOptions) {
        if (oldBSDict) {
          // If we had an oldBSDict, we must have one in the cloned effect params as well.
          // So pull the new Beautiful Strokes parameter dictionary out of there.
          AIErr error = sBeautifulStrokes->GetParamsDict(m_newEffectParams, *(m_effectsDictionary << ai::Replace));
          THROW_EXCEP_IF(error);
        } else {
          // Insert a blank Beautiful Strokes dictionary into the new effects dictionary. 
          AIErr error = sBeautifulStrokes->CreateParamsDict(m_newEffectParams, *(m_effectsDictionary << ai::Replace));
          THROW_EXCEP_IF(error);
    CPaintField::~CPaintField()
    void CPaintField::Save()
      AIErr error = sArtStyleParser->SetPaintLiveEffectInfo(m_paintField, m_paintFieldEffect, m_newEffectParams);
      THROW_EXCEP_IF(error);
    AIDictionaryRef CPaintField::GetEffectsDictionary() const
      return m_effectsDictionary;

Maybe you are looking for

  • More than one companies with my client

    One of my client having four companies they want to share master data (customer,vendor & item) they want enter master data in any ofbthe companies and it should share with all there four firms to all the companies.Require separate budget separate. Th

  • IO6 upgrade, now music will not sync to iPhone 4S????

    I recently upgraded my iPhone 4S to IO6.  Since then my music will no longer sync.  I have over 5,200 songs and all were on the iPhone before I upgraded. However, once I upgraded to IO6 the music disappeared off the iPhone (it's still in iTunes).  Be

  • Got ORA error when trying to execute external file using scheduler

    Hi All, I have executed the below program. In the log i have seen the error like below BEGIN dbms_scheduler.create_job('"TEST_JOB_EXE2"', job_type=>'EXECUTABLE', job_action=> '/home/upncommon/pub/test123' , number_of_arguments=>0, start_date=>TO_TIME

  • Discoverer Plus - New parameter creation

    On a worksheet in Discoverer Plus, when I click on Parameters and then click on New it throws an error: An error occurred while attempting to perform the operation. The operation did not complete successfully. Extra Internal Info (OLException Cause:

  • Question: run forms6.0 file in browser

    I installed developer server#(6.0) and OAS4.0.8 in the same NT Server, and create a listener, and an application with forms cartridge. and start form Server as a service. the question is that: after applet initialized, it show "applet start" in the s