release of TSobj objects

Hello

I have found some answers to previous questions on these issues, but still need help. So, after using TS_Obj_SeqFile SequenceFileHandle, I try to go out with (first record of file):

tsErrChkMsgPopup( TS_SeqFileSave ( SequenceFileHandle, &errorInfo, SeqTarget_path ));
tsErrChkMsgPopup( TS_EngineReleaseSeqFileEx (EngineHandle, &errorInfo, SequenceFileHandle, TS_ReleaseSeqFile_DoNotRunUnloadCallback, &removedfromCache));
error= CA_DiscardObjHandle ( SequenceFileHandle );
error= CA_DiscardObjHandle ( EngineHandle);

However, removedfromCache is always False and obviously function was not working (if it's work, must be True-> - 1). Eror message says that SeqTarget_path is not released (and some other properties). I use two files for SequenceFileHandle (SeqTemplate_path and SeqTarget_path). First of all is the default file and a few additions are thereby and second file where saved all changes.

Is there another way to handle this?

Best regards

branar


Tags: NI Software

Similar Questions

  • Release of an object created with ActiveXAdapter

    Hello

    I have an ActiveX (HyperAccess) object that uses the ActiveXAdapter.

    Is that what I created during execution. Communication works very well.

    But I'm not able to call ReleaseDispatch. His is not accessible the Hilgraeve interface.

    It is a way to release the ActiveX (IDispatch) objects during execution?

    Jürgen

    Fair value of all variables storing the reference to nothing.

    Example:

    Locals.MyActiveXReference = Nothing

    Reference count is automatically handled by the object reference variables. If you step to the activeX to create the object at the time of load/unload you must unload the not too well (but is not the default setting).

    Hope this helps,

    -Doug

  • Release both anchored objects

    Dear all, I want an objects anchored all of my output file. All the anchors are created inside the table. I use InDesign CS4.

    I have a file for 4 pages that is containing more than 150 images to be released anchored. That the images should be placed in the same place. Just release. I want to do for more than 100 files (400 pages, it may increase in the future). I tried this find/replace option using object, but I can find using the custom options in the Panel options anchor, not able relase by using find and replace.

    Please help me as soon as POSSIBLE.

    Thanks in advance, Thiru

    Try this:

    var a = app.activeDocument.allPageItems, t;
    
    while( t = a.pop() )
        {
        t.isValid &&
        t.hasOwnProperty('anchoredObjectSettings') &&
        (t.parent instanceof Character) &&
        (t=t.anchoredObjectSettings).isValid &&
        t.releaseAnchoredObject();
        }
    

    @+

    Marc

  • Release the anchored objects

    Hello

    Is anyone know about a scrip to clear all objects rooted in a 5.5 InDesign document?

    Thanks in advance

    Maria

    HI Maria,

    Please use the JS code below but the code is your requirement has been resolved, according to me, this way is large round circle. If someone doing short fitness after my script to edit or change.

    var myDoc = app.activeDocument;
    var myPGItem = myDoc.allPageItems;
    for(j=0; j
    

    THX

    csm_phil

  • Release of anchor all the objects/text images

    Dear all,

    It's my 1st question on AC (Adobe Community), so I'll explain what I need here in details and excuse me my little or even none experienced in coding, especially in Javascript.

    I have a book with many INDD files, these files have a lot of images and objects and text blocks are anchored to the main text area.

    I searched on AC for the way to free him from all my anchored object and the main text block text block. so I found the average script.

    I found her name "ReleaseAnyAnchor" created by 'Dave Saunders' to release the anchored object (graphics, text, else) but one by one. and it will take too much time to free myself from all the objects on the book. (the Script code is below)

    //DESCRIPTION: Release Inline & Anchored Items
    //Written by Dave Saunders, released on indesignsecrets.com
    
    
    (function() {
      if (app.documents.length > 0 && // must be a document open
      app.selection.length == 1 && // selection must be of single item
      app.selection[0].parent instanceof Character) { // selection must be anchored
      if (parseFloat(app.version) < 6) {
      releaseMe(app.selection[0]);
      } else {
      app.doScript(releaseMe, undefined, app.selection[0], UndoModes.entireScript, "Release Any Anchor");
      }
      } else {
      alert("Please select an inline item.");
      }
    
    
      function releaseMe(myPI) {
      var yePage = findPage(myPI);
      var startBounds = myPI.geometricBounds;
      myPI.anchoredObjectSettings.anchoredPosition = AnchorPosition.anchored;
      myPI.anchoredObjectSettings.releaseAnchoredObject();
      if (yePage != null) {
      myPI.move(yePage);
      }
      myPI.move([startBounds[1], startBounds[0]]);
      }
    
    
      function findPage(theObj) {
      if (theObj.hasOwnProperty("baseline")) {
      theObj = theObj.parentTextFrames[0];
      }
      while (theObj != null) {
      if (theObj.hasOwnProperty("parentPage")) return theObj.parentPage;
      var whatIsIt = theObj.constructor;
      switch (whatIsIt) {
      case Page : return theObj;
      case Character : theObj = theObj.parentTextFrames[0]; break;
      case Cell : theObj = theObj.insertionPoints[0].parentTextFrames[0]; break;
      case Note : ; case Footnote : theObj = theObj.storyOffset; break;
      case Application : return null;
      }
      if (theObj == null) return null;
      theObj = theObj.parent;
      }
      return theObj
      } // end findPage
    
    
    }());
    


    also, I found another script which release all of the graphic objects, but not objects of text frame. (I get it from AC, but I remember exactly the place where.)


    if(app.documents.length!=0) {
        var ad = app.activeDocument;
        var pgit = ad.pageItems;
        var pgitlg = pgit.length;
        var objprocessed = 0;
        if(pgitlg !=0)
        {
            for(i=0; i<pgitlg; i++)
            {
                if(pgit[i].getElements()[0].constructor.name == "TextFrame")
                {
                    var tfg = pgit[i].allGraphics;
                    var tfglg = tfg.length;
                    for(j=0; j<tfglg; j++)
                    {
                        var rec = tfg[j].parent;
                        rec.anchoredObjectSettings.releaseAnchoredObject();
                    }
                }
            }
        }
    }
    


    all codes work well for me, but I need to try to merge or make a new code [as I mentioned that I don't have experiences in JS, so I do not know how to compile a new code that do the 2 steps of the 2 codes.]


    my request is, could you please help me to do this new code, or merge to compile a new code in the new file.


    I saw this topic releasing objects anchored and want to make a new script.


    Please try to help me as soon as POSSIBLE because I need this script to all my object anchored to begin working on the output file.


    I need the code works on any version of INDESIGN.


    Thanks guys, waiting for you.


    AMR

    AHA. If you need test whether a line is an anchor. If this is the case, use. releaseAnchoredObject(), if it is not, the simplest is to make an anchor, then release it:

    if (pageItems[i].parent instanceof Character) {
        if (pageItems[i].anchoredObjectSettings.anchoredPosition !== AnchorPosition.ANCHORED) {
            pageItems[i].anchoredObjectSettings.anchoredPosition = AnchorPosition.ANCHORED;
        }
        pageItems[i].anchoredObjectSettings.releaseAnchoredObject();
    }
    

    It works, but I don't know if the results are what you're after.

    Peter

  • How to break up with release script for anchor of the object

    There are many objects related in a block of text

    I select the text block. I want to release the related objects

    Marc Autret method:
    var a = app.selection[0].allPageItems, t;  
    
    while( t = a.pop() )
        {
        t.isValid &&
        t.hasOwnProperty('anchoredObjectSettings') &&
        (t.parent instanceof Character) &&
        (t=t.anchoredObjectSettings).isValid &&
        t.releaseAnchoredObject();
        }
    

    Jongware method:

    n = app.selection[0].textFrames.length;
    while (n >= 0)
    {
         try {
              app.selection[0].textFrames[n].anchoredObjectSettings.releaseAnchoredObject();
         } catch(_) {}
         n--;
    }
    

    Vandy

  • How to display an object mesh continually update with the Labview 3D photo object

    I have a stream of update permanently of 3D images that can be represented in a mesh (a film in 3D if you want). I want to display in the 3D image object so that whenever I acquire a new 3D image that it is displayed. Examples are rare, and I couldn't find anything that dealt with this particular issue.

    Currently (in a FOR/loop WHILE) for each iteration I create an object of the scene, set the geometry as an object mesh newly created, set the texture and it wire eventually to the 3D image. This implementation seems a memory leak (Task Manager shows permanently increases the used memory and processing speed will eventually drop). I guess that's because I recreate the object for each iteration. Problem is, I can't find something that would let me release/delete the object once I'm done with the framework. All the examples I found only deal with the creation of the 3D object once and manipulating.

    What is the appropriate way to code this?

    You just need to use the "narrow" VI on reference photo 3D like this code below. It runs inside the loop.

    Now, if you're dealing with the mesh, then you should use the set the mesh to change the points inside the loop and then just close the reference after the code is done. Look at this code below. The trick is to recover the object using Typecast (to more specific reference VI) reference.

    Also, look at examples of shipping to:

    C:\nivs_dev\2013\InstallTo\ProgramFiles\National Instruments\LabVIEW\examples\picture\3D Picture Control

    and especially the with Meshes.vi.

  • Captivate 9.0.1 - web object order

    I've just updated my Captivate 9 to the latest version (9.0.1.320) and was very excited to see one of our main issues mentioned in the release notes (web objects will always top layer).

    After testing this latest version now, I find it than anything else, web objects appear above when published and nothing can be placed above them (smartshapes, images). The only thing that you can place over a web object, is another web object.

    I think I'll keep waiting for what will be fixed.

    Everyone was able to overcome this problem?

    Issues resolved in this hotfix

    General

    • Web objects do not maintain the order and are always on the top in HTML5.

    Release notes for Adobe Captivate 9.0.1

    Hello

    You can try the following steps:

    1. go in your installation folder, copy AdobeCaptivate.ini (first take a backup of this)

    2. paste it on your desktop

    3 open the file and change the value of UseWidget7 from 0 to 1

    4. save it, copy and replace in your installation directory

    Thank you

    MohanA

  • unlock an object master page on 'standard '.

    Hello

    In CS4, I used a combination of keys (Ctrl + Shift + Alt, maybe, or just Ctrl + Shift, I don't remember) and clicked on if there was a master page object I wanted to change to a specific page. Out the purpose of the master, if I could change this object only this page (for example, if I wanted to remove the pagination on a single page 14).

    In CC, I don't find this very usable option.

    I found the option Ctrl + Alt + Shift + L, but which releases all objects on master on the page, and this page is not what I want to do.

    Can someone help me?

    (Les objets peuvent, ou non, être enfermé dans la page maître, mais qui semble ne faire aucune différence; les couches ne sont pas verrouillées))

    CTRL + SHIFT should work to release a Master object, but the behavior of locked objects has changed since CS4, so it is possible that could be your problem. Locked objects are not selectable in the new versions by default, but you can change this in the preferences. You should also check that the object is not on a locked layer.

  • Anchored objects are transparent

    Thanks in advance for the help. I'm using CS5.

    I have a document have been multiple anchored objects, ended by overlap. My problem is that the anchored objects have transparency them I can't delete the value. Things to note:

    • Transparency goes away if I release the anchored object.
    • I have an object assigned to the anchored frames style, but there are style overrides that I can't erase the anchored objects.
    • I do the object style assigned to anchored objects changes have no effect. Only the box 'options of anchored objects' attributes change anchored objects.

    Any contributions to this issue would be great. Thank you!

    Looks like maybe that transparency is applied to the text in which you anchor.

  • By program the Sequence value call step

    I have code (LV 2015) that weights a step in a sequence of TS (TS 2014), changing the sous-séquence judicially.

    The code works, but an error is thrown (which indicates the resources have not been released), and ultimately, LabVIEW crashes.  Strangely, the resources that it ' complain is that I have not consulted.

    Here, we the offending code:

    It is the conversion of the reference Module to a SequenceCallModule which seems to be the cause of the trouble.

    Here is the dialog box that appears:

    Here we the full text of the error:

    References to PropertyObjects not released correctly.
    Total number of objects: 1024
    Number of objects at a higher level: 17

    Note: Some higher level objects can be included if they are referenced by
    an incorrectly released top-level object. For example, a new
    SequenceContext object is a reference to a SequenceFile object.

    The following top-level objects are not set:

    Definitions of types [5 or objects not published]
    Definition of type #1:
    Name: SeqCallStepAdditions

    Definition of type #2:
    Name: SequenceArgument

    Definition of type #3:
    Name: NI_SequenceParameterResult

    Definition of type #4:
    Name: Expression

    Definition of type #5:
    Name: path

    And the following unclassified objects:
    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    SequenceCallModule (SeqCallStepAdditions)
    Name: surlabasedesdonneesdufabricantduballast

    Can someone tell me what I have to do the release of resources after changing a call sous-suite?

    I don't see a close reference to the Module or the step objects.

  • Bug in the DisplayNewUserDialog method?

    I'm calling DisplayNewUserDialog a VI, adding the userObject returned to the UsersFile and closing all references. When I exit the program directly after doing this, I constantly receive warnings as described below. I can't find references more to close!

    References to PropertyObjects not released correctly.
    Total items: 84
    Number of objects at a higher level: 3

    Note: Some higher level objects can be included if they are referenced by
    an incorrectly released top-level object. For example, a new
    SequenceContext object is a reference to a SequenceFile object.

    The following top-level objects are not set:

    Definitions of types [2 unpublished objects]
    Definition of type #1:
    Name: user

    Definition of type #2:
    Name: NI_UserCustomPrivileges

    And the following uncategoried objects:
    User
    Name: generic.user

    Here is a proposal...

    Try closing the reference of your 'AsPropertyObject' from the property node 'user '.  This is the reference that you add to the SetPropertyObjectbyOffset.

    Otherwise, I find it strange that you have closed the 'UsersFile' before closing the refnum "UserList", but perhaps it does not make a difference.

    Good luck

    PH

  • Find no records in an Excel sheet

    Hi all

    I am importing data from an excel file into oracle database. I wanted to know the number of records in an excel file and no columns using oracle webutil (Client_ole2). I received a web code that works very well, adding a NEM statement at the end of the file each time. Maybe it's not practical always, cannot ask user each time to add a statement of NEM, which in turn result in program to run infinitely.

    This is the code that is running

    DECLARE

    application Client_OLE2. Obj_Type;

    Client_OLE2 workbooks. Obj_Type;

    workbook Client_OLE2. Obj_Type;

    Client_OLE2 spreadsheets. Obj_Type;

    worksheet Client_OLE2. Obj_Type;

    worksheet2 Client_OLE2. Obj_Type;

    cell Client_OLE2. OBJ_TYPE;

    Client_OLE2 args. OBJ_TYPE;

    cell_value varchar2 (100);

    num_wrkshts NUMBER;

    wksht_name VARCHAR2 (250);

    EOD Boolean: = false;

    j integer: = 3;

    v_fName VARCHAR2 (250);

    worksheet_count number: = 0;

    BEGIN

    -Get the name of the file to open

    -v_fName: = "D:\MyDevelopment\Forms\Samples\WebUtil\Read_Excel\planets3.xls";

    v_fName: = WebUtil_File.File_Open_Dialog)

    directory_name = > "C:\". »

    -, file_name = > Get_Form_Property (:System.Current_form, Form_Name) |'. XLS

    , File_Filter = > null

    , Title = > 'Select customer filename to open.'

    );

    IF (v_fName IS NOT NULL) THEN

    -The following sets a communication with the excel worksheet

    -- --------------------------------------------------------------

    -Open the OLE application

    application: = Client_OLE2.create_obj ('Excel.Application');

    -Keep the hidden application

    Client_OLE2.set_property (application, 'Visible ','false ');

    workbooks: = Client_OLE2. Get_Obj_Property (application "Filing cabinets");

    args: = Client_OLE2. CREATE_ARGLIST;

    -Open the selected file

    -- ----------------------

    Client_OLE2.add_arg (args, v_fName);

    workbook: = Client_OLE2. GET_OBJ_PROPERTY (Workbooks, 'Open', args);

    Client_OLE2.destroy_arglist (args);

    worksheets: = Client_OLE2. GET_OBJ_PROPERTY (workbook, 'Worksheets');

    -Get the number of spreadsheets

    -- ------------------------

    num_wrkshts: = Client_OLE2. GET_NUM_PROPERTY (worksheets, 'Count');

    worksheet: = Client_OLE2. GET_OBJ_PROPERTY (application, 'activesheet');

    -Go to the first record

    go_block ('EXCEL_EXPORT_TABLE');

    premier_enregistrement;

    loop

    If: system.record_status <>'NEW' then

    create_record;

    end if;

    When the exit NEM;

    for 1.15 k loop - 15 frames / record - hard-code the length of the column

    args: = Client_OLE2.create_arglist;

    Client_OLE2.add_arg (args, j);

    Client_OLE2.add_arg (args, k);

    cell: = Client_OLE2.get_obj_property (spreadsheet calculation, 'Cells', args);

    Client_OLE2.destroy_arglist (args);

    If Client_OLE2.get_char_property (cell, 'Value') = 'null' then

    cell_value: = ";

    on the other

    cell_value: = nvl (Client_OLE2.get_char_property (cell, 'Value'), 0);

    end if;

    If upper (cell_value) = 'NEM' then - the loop runs until "NEM" are judged.

    Nem: = true;

    Message ('end of data');

    "exit";

    end if;

    Copy (cell_value, name_in ('system.cursor_item'));

    next_item;


    end loop; -for

    j: = j + 1;

    end loop;-main loop

    premier_enregistrement;

    -Release the handles object Client_OLE2

    IF (cell IS NOT NULL) THEN

    Client_OLE2.release_obj (cell);

    END IF;

    IF (spreadsheet IS NOT NULL) THEN

    Client_OLE2.release_obj (Worksheet);

    END IF;

    IF (spreadsheets IS NOT NULL) THEN

    Client_OLE2.release_obj (Worksheets);

    END IF;

    IF (worksheet2 IS NOT NULL) THEN

    Client_OLE2.release_obj (worksheet2);

    END IF;

    IF (workbook IS NOT NULL) THEN

    Client_OLE2.release_obj (Workbook);

    END IF;

    IF (workbooks IS NOT NULL) THEN

    Client_OLE2.release_obj (Workbooks);

    END IF;

    Client_OLE2. Invoke (application, 'Quit');

    Client_OLE2.release_obj (application);

    ON THE OTHER

    Message ("no file selected.'");

    message(' ');

    RAISE Form_Trigger_Failure;

    END IF;

    END;

    Please think it has no integrated to find no records and columns in excel file using oracle forms.

    Thank you and best regards,

    JaKes

    This change according to excel data file.

    for example, we also use this logic. because the first column in excel file still does not empty. It should be full.

    If any column of a raw material can be empty, one with just my solution can be

    v_all_column_str: = col_A_Value | col_B_Value | col_C_Value | col_D_Value |... col_n_value;

    if v_all_column_str is null, then--> you can tell, all of the columns of this vintage in excellent file is empty

  • Versioning... need suggestion

    Hello

    I use SVN for version management. But I would like to know if I still using default of ODI for objects versioning.

    Basically I would only export the highest environment scenarios. Any other object, we'll go to QA.

    can you please if there is an impact to versions twice IE a next and odi level is at SVN survey.

    Please suggest

    Thank you

    ASP.

    Hi, ASP,.

    I want to say that Yes, you can optionally use SVN but not as a replacement of versioning ODI and solutions ODI.

    Let me tell you about the key elements of the ODI versioning.

    In ODI, you can have as many types of versioned objects:

    (1) projects

    (2) records

    (3) packages

    (4) interfaces

    (5) procedures of

    (6) sequences of

    7-user functions

    (8) variables

    (9) knowledge modules

    (10) model files

    (11) models

    (12) scenarios of

    NOTES:

    (a) how best and how you have to release all of your work in ODI

    (b) he has not compiled the code itself

    • For example, a package is your code, but the scenario generated from this package is your compiled code (frozen)

    (c) a scenario can be generated from:

    • Packages (mainly)
    • Interfaces
    • Procedures
    • Variables

    (13) load plans

    (14) solutions of

    You can version all ODI objects mentioned above, transparently in ODI.

    • You can browse the
    • You can compare different versions together
    • You can restore any version of the object at any time in the repository of work
    • The version information itself is stored in the main repository

    You asked: "I use SVN for version management. But I would like to know if I still using default of ODI for objects versioning. Basically I would only export the highest environment scenarios. Any other purpose we will go to the QA. »

    (1) you can export scenarios (deployment) is optimal, but you will find it useful and "need of versions of ODI" to compare, for example, two different versions of packages to know at what stage has been added/updated / delete. To achieve the latter you can create a package version, change the package, create another version, use the version of the browser in the menu of the ODI and choose/select versions of both packages and then right click and compare.

    How you would show the difference in action between two different versions of package ODI in SVN?

    (2) nothing can replace the version management of the ODI in regards to ODI

    You asked: "can you please if there is an impact to versions twice IE one ODI and next is level to SVN survey.»

    Well, the ODI version information is kept in the master repository (relational Tables), SVN version information is stored in its own specific repository. So there should be no impact when consider you isolated, but still know that when you want to release your ODI objects, compare and restore do you with ODI version management. SVN cannot replace the ODI version management.

  • -&gt; Client_OLE2.create_obj ('Excel.Application') when he called by form of Oracle for the second time to desnt work


    Here is the code that is written in "WHEN-BUTTON-PRESSED" trigger of a button in the form of Oracle

    Questions:

    1. for the first time in the excel sheet data loaded into record block.

    2. If I once again to open the screen and try to import another excel file the record block appers to be empty and no error thrown

    Comment:

    1. second time when I try to download the excel sheet, the code ends in "Client_OLE2.create_obj('Excel.Application')" and not further progress (on track by putting the message in the code)

    Code:

    DECLARE
    application Client_OLE2. Obj_Type;
    Client_OLE2 workbooks. Obj_Type;
    workbook Client_OLE2. Obj_Type;
    Client_OLE2 spreadsheets. Obj_Type;
    worksheet Client_OLE2. Obj_Type;
    worksheet2 Client_OLE2. Obj_Type;
    cell Client_OLE2. OBJ_TYPE;
    Client_OLE2 args. OBJ_TYPE;
    cell_value varchar2 (100);
    num_wrkshts NUMBER;
    wksht_name VARCHAR2 (250);
    EOD Boolean: = false;
    j integer: = 1;
    v_fName VARCHAR2 (250);
    BEGIN
    -Get the name of the file to open
    -v_fName: = "D:\MyDevelopment\Forms\Samples\WebUtil\Read_Excel\planets3.xls";
    v_fName: = WebUtil_File.File_Open_Dialog)
    directory_name = > "C:\". »
    -, file_name = > Get_Form_Property (:System.Current_form, Form_Name) |'. XLS
    , File_Filter = > null
    , Title = > 'Select customer filename to open.'
    );

    IF (v_fName IS NOT NULL) THEN

    -The following sets a communication with the excel worksheet
    -- --------------------------------------------------------------
    -Open the OLE application
    application: = Client_OLE2.create_obj ('Excel.Application');
    -Keep the hidden application
    Client_OLE2.set_property (application, 'Visible ','false ');

    workbooks: = Client_OLE2. Get_Obj_Property (application "Filing cabinets");
    args: = Client_OLE2. CREATE_ARGLIST;

    -Open the selected file
    -- ----------------------
    Client_OLE2.add_arg (args, v_fName);
    workbook: = Client_OLE2. GET_OBJ_PROPERTY (Workbooks, 'Open', args);
    Client_OLE2.destroy_arglist (args);

    worksheets: = Client_OLE2. GET_OBJ_PROPERTY (workbook, 'Worksheets');

    -Get the number of spreadsheets
    -- ------------------------
    num_wrkshts: = Client_OLE2. GET_NUM_PROPERTY (worksheets, 'Count');
    worksheet: = Client_OLE2. GET_OBJ_PROPERTY (application, 'activesheet');

    -Go to the first record
    go_block ('planets');
    premier_enregistrement;

    loop
    If: system.record_status <>'NEW' then
    create_record;
    end if;

    When the exit NEM;

    for 1.3 k loop - 3 frames / record
    args: = Client_OLE2.create_arglist;
    Client_OLE2.add_arg (args, j);
    Client_OLE2.add_arg (args, k);
    cell: = Client_OLE2.get_obj_property (spreadsheet calculation, 'Cells', args);
    Client_OLE2.destroy_arglist (args);
    cell_value: = Client_OLE2.get_char_property (cell, 'Value');

    If upper (cell_value) = "NEM" then
    Nem: = true;
    Message ('end of data');
    "exit";
    end if;

    -Could be done in this way also-->

    / * If k = 1 then
    : dept.deptno: = cell_value;
    end if;

    If k = 2 then
    : dept.dname: = cell_value;
    end if;

    If k = 3 then
    : dept.loc: = cell_value;
    end if;
    */

    -Less code in this way - >
    Copy (cell_value, name_in ('system.cursor_item'));
    next_item;

    end loop; -for

    j: = j + 1;
    end loop;-main loop

    -Release the handles object Client_OLE2
    IF (cell IS NOT NULL) THEN
    Client_OLE2.release_obj (cell);
    END IF;
    IF (spreadsheet IS NOT NULL) THEN
    Client_OLE2.release_obj (Worksheet);
    END IF;
    IF (spreadsheets IS NOT NULL) THEN
    Client_OLE2.release_obj (Worksheets);
    END IF;
    IF (worksheet2 IS NOT NULL) THEN
    Client_OLE2.release_obj (worksheet2);
    END IF;
    IF (workbook IS NOT NULL) THEN
    Client_OLE2.release_obj (Workbook);
    END IF;
    IF (workbooks IS NOT NULL) THEN
    Client_OLE2.release_obj (Workbooks);
    END IF;
    Client_OLE2. Invoke (application, 'Quit');
    Client_OLE2.release_obj (application);
    ON THE OTHER
    Message ("no file selected.'");
    message(' ');
    RAISE Form_Trigger_Failure;
    END IF;
    END;

    Any advice will be appreciated...

    Thank you!!!

    Hello

    personally, I release the cell object as soon as the value is written in a variable and not in a procedure that closes the file. Note that there are many cells read (so you should relase each cell individually).

    The publication of the application is such:

    Procedure CloseApplication is

    Begin

    CLIENT_ole2.release_obj (Workbook);

    CLIENT_ole2.release_obj (Workbooks);

    CLIENT_ole2. Invoke (application, 'Quit');

    CLIENT_ole2.release_obj (application);

    End CloseApplication;

    Greetings,

    SIM

Maybe you are looking for